Packages and utilities

library(tidyverse)
library(lme4)
library(lmerTest)
library(logging)
library(mvtnorm)
library(mgcv)
# Provides bootstrap resampling tools
library(rsample)
# Compute the log-likelihood of a new dataset using a fit lme4 model.
logLik_test <- function(lm, test_X, test_y) {
  predictions <- predict(lm, test_X, re.form=NA)
  # Get std.dev. of residual, estimated from train data
  stdev <- sigma(lm)
  # For each prediction--observation, get the density p(obs | N(predicted, model_sigma)) and reduce
  density <- sum(dnorm(test_y, predictions, stdev, log=TRUE))
  return(density)
}
# Get per-prediction log-likelihood
logLik_test_per <- function(lm, test_X, test_y) {
  predictions <- predict(lm, test_X, re.form=NA)
  # Get std.dev. of residual, estimated from train data
  stdev <- sigma(lm)
  # For each prediction--observation, get the density p(obs | N(predicted, model_sigma))
  densities <- dnorm(test_y, predictions, stdev, log=TRUE)
  return(densities)
}
# Compute MSE of a new dataset using a fit lme4 model.
mse_test <- function(lm, test_X, test_y) {
  return(mean((predict(lm, test_X, re.form=NA) - test_y) ^ 2))
}
#Sanity checks
#mylm <- gam(psychometric ~  s(surprisal, bs = "cr", k = 20) + s(prev_surp, bs = "cr", k = 20) + te(freq, len, bs = "cr") + te(prev_freq, prev_len, bs = "cr"), data=train_data)
#c(logLik(mylm), logLik_test(mylm, train_data, train_data$psychometric))
#logLik_test(mylm, test_data, test_data$psychometric)

Data loading and preprocessing

data = read.csv("../data/harmonized_results.csv")

all_data = data %>%
  mutate(seed = as.factor(seed)) %>%
  group_by(corpus, model, training, seed) %>%
    mutate(prev_surp = lag(surprisal),
         prev_code = lag(code),
         prev_len = lag(len),
         prev_freq = lag(freq),
         prev_surp = lag(surprisal),
         
         prev2_freq = lag(prev_freq),
         prev2_code = lag(prev_code),
         prev2_len = lag(prev_len),
         prev2_surp = lag(prev_surp),
         
         prev3_freq = lag(prev2_freq),
         prev3_code = lag(prev2_code),
         prev3_len = lag(prev2_len),
         prev3_surp = lag(prev2_surp),
         
         prev4_freq = lag(prev3_freq),
         prev4_code = lag(prev3_code),
         prev4_len = lag(prev3_len),
         prev4_surp = lag(prev3_surp)) %>%
  ungroup() %>%
  
  # Filter back two for the dundee corpus. Filter back 1 for all other corpora
  # NB this effectively removes all zero-surprisal rows, since early-sentence tokens don't have contiguous token history
  filter((corpus == "dundee" & code == prev2_code + 2) | (corpus != "dundee" & code == prev4_code + 4)) %>%
  
  select(-prev_code, -prev2_code, -prev3_code) %>%
  drop_na()

all_data = all_data %>%
  mutate(
    model = as.character(model),
    model = if_else(model == "gpt-2", "gpt2", model),
    model = as.factor(model))
missing_rows = all_data %>% complete(nesting(corpus, code), nesting(model, training, seed)) %>% 
  group_by(corpus, code) %>% 
    filter(sum(is.na(surprisal)) > 0) %>% 
  ungroup() %>% 
  anti_join(all_data, by=c("corpus", "code", "model", "training", "seed"))

missing_rows %>% ggplot(aes(x=corpus, fill=factor(paste(model,training)))) +
geom_bar(position=position_dodge(width=0.8))

print(missing_rows %>% group_by(model, training, seed, corpus) %>% summarise(n=n()) %>% arrange(desc(n)))
`summarise()` has grouped output by 'model', 'training', 'seed'. You can override using the `.groups` argument.

# Compute the ideal number of model--seed--training observations per token.
to_drop = all_data %>%
  group_by(corpus, code) %>% summarise(n = n()) %>% ungroup() %>%
  group_by(corpus) %>% mutate( max_n = max(n)) %>% ungroup() %>%
  filter(max_n != n) %>% 
  select(code, corpus)
`summarise()` has grouped output by 'corpus'. You can override using the `.groups` argument.
# Find tokens which have 28 observations and compare model+training freqs
all_data %>% filter(corpus == "bnc-brown") %>% group_by(code) %>% filter(n() == 28)
tempx = all_data %>% filter(corpus == "bnc-brown", code == 17103)
table(paste(tempx$model, tempx$training))

      5gram bllip-lg       5gram bllip-md       5gram bllip-sm       5gram bllip-xs        gpt2 bllip-lg 
                   1                    1                    1                    1                    1 
gpt2 bllip-lg-gptbpe        gpt2 bllip-md gpt2 bllip-md-gptbpe gpt2 bllip-sm-gptbpe gpt2 bllip-xs-gptbpe 
                   2                    1                    3                    1                    1 
       rnng bllip-lg        rnng bllip-md        rnng bllip-sm        rnng bllip-xs     vanilla bllip-lg 
                   1                    2                    2                    4                    1 
    vanilla bllip-md     vanilla bllip-sm     vanilla bllip-xs 
                   3                    3                    3 
# This one is missing a seed
#to_drop %>% filter(corpus == "bnc-brown") %>% arrange(code)
tempx = all_data %>% filter(corpus == "bnc-brown", code == 17017)
table(paste(tempx$model, tempx$training))

      5gram bllip-lg       5gram bllip-md       5gram bllip-sm       5gram bllip-xs        gpt2 bllip-lg 
                   1                    1                    1                    1                    1 
gpt2 bllip-lg-gptbpe        gpt2 bllip-md gpt2 bllip-md-gptbpe gpt2 bllip-sm-gptbpe gpt2 bllip-xs-gptbpe 
                   2                    1                    3                    1                    1 
       rnng bllip-lg        rnng bllip-md        rnng bllip-sm        rnng bllip-xs     vanilla bllip-lg 
                   1                    2                    2                    4                    1 
    vanilla bllip-md     vanilla bllip-sm     vanilla bllip-xs 
                   3                    3                    3 
# nvm somehow not a problem anymore ..
# # Zooming in on the problem -- why is there no bllip-lg data here?
# all_data %>% filter(corpus == "dundee", model == "vanilla", training == "bllip-lg", code > 10720, code < 10730)

loginfo(paste("Dropping", nrow(to_drop), "observations corresponding to corpus tokens which are missing observations for some model."))
2021-04-09 17:48:50 INFO::Dropping 10561 observations corresponding to corpus tokens which are missing observations for some model.
loginfo(paste("Dropping", to_drop %>% group_by(corpus, code) %>% n_groups(), "tokens which are missing observations for some model."))
2021-04-09 17:48:50 INFO::Dropping 10561 tokens which are missing observations for some model.
all_data = all_data %>% anti_join(to_drop %>% group_by(corpus, code), by=c("corpus", "code"))
loginfo(paste("After drop,", nrow(all_data), "observations (", all_data %>% group_by(corpus, code) %>% n_groups(), " tokens) remain."))
2021-04-09 17:48:51 INFO::After drop, 1056239 observations ( 33115  tokens) remain.

to_drop_zero_surps = all_data %>% group_by(corpus, code) %>% filter(any(surprisal == 0)) %>% ungroup()
loginfo(paste("Dropping", nrow(to_drop_zero_surps), "observations corresponding to corpus tokens which have surprisal zeros for some model."))
2021-04-09 17:48:51 INFO::Dropping 128 observations corresponding to corpus tokens which have surprisal zeros for some model.
loginfo(paste("Dropping", to_drop_zero_surps %>% group_by(corpus, code) %>% n_groups(), "tokens which have surprisal zeros for some model."))
2021-04-09 17:48:51 INFO::Dropping 4 tokens which have surprisal zeros for some model.
all_data = all_data %>% anti_join(to_drop_zero_surps %>% group_by(corpus, code), by=c("corpus", "code"))
loginfo(paste("After drop,", nrow(all_data), "observations (", all_data %>% group_by(corpus, code) %>% n_groups(), " tokens) remain."))
2021-04-09 17:48:51 INFO::After drop, 1056111 observations ( 33111  tokens) remain.

to_drop_zero_psychs = all_data %>% group_by(corpus, code) %>% filter(any(psychometric == 0)) %>% ungroup()
loginfo(paste("Dropping", nrow(to_drop_zero_psychs), "observations corresponding to corpus tokens which have psychometric zeros for some model."))
2021-04-09 17:48:52 INFO::Dropping 16480 observations corresponding to corpus tokens which have psychometric zeros for some model.
loginfo(paste("Dropping", to_drop_zero_psychs %>% group_by(corpus, code) %>% n_groups(), "tokens which have psychometric zeros for some model."))
2021-04-09 17:48:52 INFO::Dropping 515 tokens which have psychometric zeros for some model.
all_data = all_data %>% anti_join(to_drop_zero_psychs %>% group_by(corpus, code), by=c("corpus", "code"))
loginfo(paste("After drop,", nrow(all_data), "observations (", all_data %>% group_by(corpus, code) %>% n_groups(), " tokens) remain."))
2021-04-09 17:48:52 INFO::After drop, 1039631 observations ( 32596  tokens) remain.

Train Linear Models which are used to assess Delta Log Lik

# Compute linear model stats for the given training data subset and full test data.
# Automatically subsets the test data to match the relevant group for which we are training a linear model.
get_lm_data <- function(df, test_data, formula, fold, store_env) {
  #this_lm <- gam(formula, data=df);
  print(paste(unique(paste(df$model, df$training, df$seed, df$corpus))[1], fold, nrow(df)))
  this_lm = lm(formula, data=df)
  this_test_data <- semi_join(test_data, df, by=c("training", "model", "seed", "corpus"));
  
  # Save lm to the global env so that we can access residuals later.
  lm_name = paste(unique(paste(df$model, df$training, df$seed, df$corpus))[1], fold)
  assign(lm_name, this_lm, envir=store_env)
  
  summarise(df,
            log_lik = as.numeric(logLik(this_lm, REML = F)),
            test_lik = logLik_test(this_lm, this_test_data, this_test_data$psychometric),
            test_mse = mse_test(this_lm, this_test_data, this_test_data$psychometric))
}
# For a previously fitted lm stored in store_env, get the residuals on test data of the relevant data subset.
get_lm_residuals <- function(df, fold, store_env) {
  # Retrieve the relevant lm.
  lm_name = paste(unique(paste(df$model, df$training, df$seed, df$corpus))[1], fold)
  this_lm <- get(lm_name, envir=store_env)
  
  mutate(df,
         likelihood = logLik_test_per(this_lm, df, df$psychometric),
         resid = df$psychometric - predict(this_lm, df, re.form=NA))
}
# Compute per-example delta-log-likelihood for the given test fold.
get_lm_delta_log_lik <- function(test_data, fold, baseline_env, full_env) {
  lm_name = paste(unique(paste(test_data$model, test_data$training, test_data$seed, test_data$corpus))[1], fold)
  baseline_lm <- get(lm_name, envir=baseline_env)
  full_lm <- get(lm_name, envir=full_env)
  
  delta_log_lik = logLik_test_per(full_lm, test_data, test_data$psychometric) - logLik_test_per(baseline_lm, test_data, test_data$psychometric)
  return(cbind(test_data, delta_log_lik=delta_log_lik))
}
#####
# Define regression formulae.

# Regression code to fit GAM models.
#baseline_rt_regression = psychometric ~ te(freq, len, bs = "cr") + te(prev_freq, prev_len, bs = "cr") + te(prev2_freq, prev2_len, bs = "cr")
#baselie_sprt_regression = psychometric ~ te(freq, len, bs = "cr") + te(prev_freq, prev_len, bs = "cr") + te(prev2_freq, prev2_len, bs = "cr") + te(prev3_freq, prev3_len, bs = "cr") + te(prev4_freq, prev4_len, bs = "cr")

#full_rt_regression = psychometric ~ s(surprisal, bs = "cr", k = 20) + s(prev_surp, bs = "cr", k = 20) + s(prev2_surp, bs = "cr", k = 20) + te(freq, len, bs = "cr") + te(prev_freq, prev_len, bs = "cr") + te(prev2_freq, prev2_len, bs = "cr")
#full_sprt_regression = psychometric ~ s(surprisal, bs = "cr", k = 20) + s(prev_surp, bs = "cr", k = 20) + s(prev2_surp, bs = "cr", k = 20) + s(prev3_surp, bs = "cr", k = 20) + s(prev4_surp, bs = "cr", k = 20) + te(freq, len, bs = "cr") + te(prev_freq, prev_len, bs = "cr") + te(prev2_freq, prev2_len, bs = "cr") + te(prev3_freq, prev3_len, bs = "cr") + te(prev4_freq, prev4_len, bs = "cr")

# Regression Code to fit linear models
baseline_rt_regression = psychometric ~ freq + prev_freq + prev2_freq + len + prev_len + prev2_len
baseline_sprt_regression = psychometric ~ freq + prev_freq + prev2_freq + prev3_freq + prev4_freq + len + prev_len + prev2_len + prev3_len + prev4_len

full_sprt_regression = psychometric ~ surprisal + prev_surp + prev2_surp + prev3_surp + prev4_surp + freq + prev_freq + prev2_freq + prev3_freq + prev4_freq + len + prev_len + prev2_len + prev3_len + prev4_len
full_rt_regression = psychometric ~ surprisal + prev_surp + prev2_surp + freq + prev_freq + prev2_freq + len + prev_len + prev2_len
  
#####
# Prepare frames/environments for storing results/objects.
baseline_results = data.frame()
full_model_results = data.frame()
baseline_residuals = data.frame()
full_residuals = data.frame()
log_lik_deltas = data.frame()

#Randomly shuffle the data
all_data<-all_data[sample(nrow(all_data)),]
#Create K equally size folds
K = 10
folds <- cut(seq(1,nrow(all_data)),breaks=K,labels=FALSE)
#Perform 10 fold cross validation

# Fit models for some fold of the data.
baseline_corpus = function(corpus, df, test_data, fold, env) {
  if(corpus == "dundee") {
    get_lm_data(df, test_data, baseline_rt_regression, fold, env)
  } else {
    get_lm_data(df, test_data, baseline_sprt_regression, fold, env)
  }
}
full_model_corpus = function(corpus, df, test_data, fold, env) {
  if(corpus[1] == "dundee") {
    get_lm_data(df, test_data, full_rt_regression, fold, env)
  } else {
    get_lm_data(df, test_data, full_sprt_regression, fold, env)
  }
}

# Prepare a new Environment in which we store fitted LMs, which we'll query later for residuals and other metrics.
baseline_env = new.env()
full_env = new.env()

for(i in 1:K) { 
  #Segement your data by fold using the which() function 
  testIndexes <- which(folds==i, arr.ind=TRUE)
  test_data <- all_data[testIndexes, ]
  train_data <- all_data[-testIndexes, ]
  
  # Compute a baseline linear model for each model--training--seed--RT-corpus combination.
  baselines = train_data %>%
    group_by(model, training, seed, corpus) %>%
      print(model) %>%
      do(baseline_corpus(unique(.$corpus), ., test_data, i, baseline_env)) %>%
    ungroup() %>%
    mutate(seed = as.factor(seed),
           fold = i)
  
  baseline_results = rbind(baseline_results, baselines)
  
  # Compute a full linear model for each model--training--seed-RT-corpus combination
  full_models = train_data %>%
    group_by(model, training, seed, corpus) %>%
      do(full_model_corpus(unique(.$corpus), ., test_data, i, full_env)) %>%
    ungroup() %>%
    mutate(seed = as.factor(seed),
           fold = i)
  
  full_model_results = rbind(full_model_results, full_models)
  
  # Compute delta-log-likelihoods
  fold_log_lik_deltas = test_data %>%
    group_by(model, training, seed, corpus) %>%
      do(get_lm_delta_log_lik(., i, baseline_env, full_env)) %>%
    ungroup()

  log_lik_deltas = rbind(log_lik_deltas, fold_log_lik_deltas)
  
  fold_baseline_residuals = test_data %>%
    group_by(model, training, seed, corpus) %>%
      do(get_lm_residuals(., i, baseline_env)) %>%
    ungroup()

  baseline_residuals = rbind(baseline_residuals, fold_baseline_residuals)

  fold_full_residuals = test_data %>%
    group_by(model, training, seed, corpus) %>%
      do(get_lm_residuals(., i, full_env)) %>%
    ungroup()

  full_residuals = rbind(full_residuals, fold_full_residuals)
}
[1] "5gram bllip-lg 1111 bnc-brown 1 1685"
[1] "5gram bllip-lg 1111 dundee 1 24484"
[1] "5gram bllip-lg 1111 natural-stories 1 3102"
[1] "5gram bllip-md 1111 bnc-brown 1 1686"
[1] "5gram bllip-md 1111 dundee 1 24661"
[1] "5gram bllip-md 1111 natural-stories 1 3106"
[1] "5gram bllip-sm 1111 bnc-brown 1 1686"
[1] "5gram bllip-sm 1111 dundee 1 24580"
[1] "5gram bllip-sm 1111 natural-stories 1 3087"
[1] "5gram bllip-xs 1111 bnc-brown 1 1680"
[1] "5gram bllip-xs 1111 dundee 1 24534"
[1] "5gram bllip-xs 1111 natural-stories 1 3078"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 1 1697"
[1] "gpt2 bllip-lg 1587139950 dundee 1 24547"
[1] "gpt2 bllip-lg 1587139950 natural-stories 1 3094"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 1 1700"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 1 24509"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 1 3085"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 1 1726"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 1 24578"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 1 3100"
[1] "gpt2 bllip-md 1586986276 bnc-brown 1 1703"
[1] "gpt2 bllip-md 1586986276 dundee 1 24667"
[1] "gpt2 bllip-md 1586986276 natural-stories 1 3124"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 1 24530"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 1 3070"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 1 1670"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 1 24518"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 1 3106"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 1 1688"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 1 24504"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 1 1666"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 1 24548"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 1 3104"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 1 1688"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 1 24537"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 1 3092"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 1 1686"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 1 24458"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 1 3092"
[1] "rnng bllip-lg 7245 bnc-brown 1 1696"
[1] "rnng bllip-lg 7245 dundee 1 24533"
[1] "rnng bllip-lg 7245 natural-stories 1 3076"
[1] "rnng bllip-md 3602 bnc-brown 1 1701"
[1] "rnng bllip-md 3602 dundee 1 24599"

|==============================================                                                    | 47% ~2 s remaining     [1] "rnng bllip-md 3602 natural-stories 1 3118"
[1] "rnng bllip-md 44862 bnc-brown 1 1694"

|================================================                                                  | 49% ~2 s remaining     [1] "rnng bllip-md 44862 dundee 1 24559"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 1 3094"
[1] "rnng bllip-sm 7877 bnc-brown 1 1699"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 1 24560"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 1 3116"
[1] "rnng bllip-sm 64924 bnc-brown 1 1706"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 1 24574"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 1 3092"
[1] "rnng bllip-xs 4301 bnc-brown 1 1682"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 1 24438"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 1 3120"
[1] "rnng bllip-xs 28066 bnc-brown 1 1694"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 1 24535"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 1 3101"
[1] "rnng bllip-xs 28068 bnc-brown 1 1666"

|===============================================================                                   | 65% ~1 s remaining     [1] "rnng bllip-xs 28068 dundee 1 24608"

|================================================================                                  | 66% ~1 s remaining     [1] "rnng bllip-xs 28068 natural-stories 1 3108"
[1] "rnng bllip-xs 51272 bnc-brown 1 1697"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 1 24550"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 1 3114"
[1] "vanilla bllip-lg 111 bnc-brown 1 1686"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 1 24434"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 1 3093"
[1] "vanilla bllip-md 120 bnc-brown 1 1687"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 1 24498"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 1 3109"
[1] "vanilla bllip-md 607 bnc-brown 1 1714"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 1 1697"
[1] "vanilla bllip-md 922 dundee 1 24540"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 1 3085"

|===============================================================================                   | 81% ~1 s remaining     [1] "vanilla bllip-sm 111 bnc-brown 1 1716"
[1] "vanilla bllip-sm 111 dundee 1 24487"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 1 3094"
[1] "vanilla bllip-sm 120 bnc-brown 1 1685"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 1 24478"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 1 3107"
[1] "vanilla bllip-sm 922 bnc-brown 1 1700"

|======================================================================================            | 88% ~0 s remaining     [1] "vanilla bllip-sm 922 dundee 1 24552"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 1 3094"
[1] "vanilla bllip-xs 111 bnc-brown 1 1723"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 1 24620"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 1 3097"
[1] "vanilla bllip-xs 120 bnc-brown 1 1709"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 1 24591"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 1 3114"
[1] "vanilla bllip-xs 922 bnc-brown 1 1691"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 1 24587"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 1 3093"
[1] "5gram bllip-lg 1111 bnc-brown 1 1685"
[1] "5gram bllip-lg 1111 dundee 1 24484"
[1] "5gram bllip-lg 1111 natural-stories 1 3102"
[1] "5gram bllip-md 1111 bnc-brown 1 1686"
[1] "5gram bllip-md 1111 dundee 1 24661"
[1] "5gram bllip-md 1111 natural-stories 1 3106"
[1] "5gram bllip-sm 1111 bnc-brown 1 1686"
[1] "5gram bllip-sm 1111 dundee 1 24580"
[1] "5gram bllip-sm 1111 natural-stories 1 3087"
[1] "5gram bllip-xs 1111 bnc-brown 1 1680"
[1] "5gram bllip-xs 1111 dundee 1 24534"
[1] "5gram bllip-xs 1111 natural-stories 1 3078"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 1 1697"
[1] "gpt2 bllip-lg 1587139950 dundee 1 24547"
[1] "gpt2 bllip-lg 1587139950 natural-stories 1 3094"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 1 1700"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 1 24509"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 1 3085"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 1 1726"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 1 24578"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 1 3100"
[1] "gpt2 bllip-md 1586986276 bnc-brown 1 1703"
[1] "gpt2 bllip-md 1586986276 dundee 1 24667"
[1] "gpt2 bllip-md 1586986276 natural-stories 1 3124"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 1 24530"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 1 3070"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 1 1670"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 1 24518"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 1 3106"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 1 1688"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 1 24504"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 1 1666"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 1 24548"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 1 3104"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 1 1688"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 1 24537"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 1 3092"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 1 1686"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 1 24458"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 1 3092"
[1] "rnng bllip-lg 7245 bnc-brown 1 1696"
[1] "rnng bllip-lg 7245 dundee 1 24533"
[1] "rnng bllip-lg 7245 natural-stories 1 3076"

|============================================                                                      | 45% ~2 s remaining     [1] "rnng bllip-md 3602 bnc-brown 1 1701"
[1] "rnng bllip-md 3602 dundee 1 24599"

|==============================================                                                    | 47% ~2 s remaining     [1] "rnng bllip-md 3602 natural-stories 1 3118"
[1] "rnng bllip-md 44862 bnc-brown 1 1694"

|================================================                                                  | 49% ~2 s remaining     [1] "rnng bllip-md 44862 dundee 1 24559"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 1 3094"
[1] "rnng bllip-sm 7877 bnc-brown 1 1699"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 1 24560"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 1 3116"
[1] "rnng bllip-sm 64924 bnc-brown 1 1706"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 1 24574"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 1 3092"
[1] "rnng bllip-xs 4301 bnc-brown 1 1682"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 1 24438"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 1 3120"
[1] "rnng bllip-xs 28066 bnc-brown 1 1694"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 1 24535"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 1 3101"
[1] "rnng bllip-xs 28068 bnc-brown 1 1666"

|===============================================================                                   | 65% ~2 s remaining     [1] "rnng bllip-xs 28068 dundee 1 24608"

|================================================================                                  | 66% ~2 s remaining     [1] "rnng bllip-xs 28068 natural-stories 1 3108"
[1] "rnng bllip-xs 51272 bnc-brown 1 1697"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 1 24550"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 1 3114"
[1] "vanilla bllip-lg 111 bnc-brown 1 1686"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 1 24434"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 1 3093"
[1] "vanilla bllip-md 120 bnc-brown 1 1687"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 1 24498"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 1 3109"
[1] "vanilla bllip-md 607 bnc-brown 1 1714"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 1 1697"
[1] "vanilla bllip-md 922 dundee 1 24540"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 1 3085"
[1] "vanilla bllip-sm 111 bnc-brown 1 1716"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 1 24487"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 1 3094"
[1] "vanilla bllip-sm 120 bnc-brown 1 1685"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 1 24478"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 1 3107"
[1] "vanilla bllip-sm 922 bnc-brown 1 1700"

|======================================================================================            | 88% ~1 s remaining     [1] "vanilla bllip-sm 922 dundee 1 24552"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 1 3094"
[1] "vanilla bllip-xs 111 bnc-brown 1 1723"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 1 24620"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 1 3097"
[1] "vanilla bllip-xs 120 bnc-brown 1 1709"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 1 24591"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 1 3114"
[1] "vanilla bllip-xs 922 bnc-brown 1 1691"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 1 24587"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 1 3093"
[1] "5gram bllip-lg 1111 bnc-brown 2 1699"
[1] "5gram bllip-lg 1111 dundee 2 24529"
[1] "5gram bllip-lg 1111 natural-stories 2 3097"
[1] "5gram bllip-md 1111 bnc-brown 2 1687"
[1] "5gram bllip-md 1111 dundee 2 24445"
[1] "5gram bllip-md 1111 natural-stories 2 3081"
[1] "5gram bllip-sm 1111 bnc-brown 2 1694"
[1] "5gram bllip-sm 1111 dundee 2 24507"
[1] "5gram bllip-sm 1111 natural-stories 2 3092"
[1] "5gram bllip-xs 1111 bnc-brown 2 1698"
[1] "5gram bllip-xs 1111 dundee 2 24567"
[1] "5gram bllip-xs 1111 natural-stories 2 3136"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 2 1695"
[1] "gpt2 bllip-lg 1587139950 dundee 2 24558"
[1] "gpt2 bllip-lg 1587139950 natural-stories 2 3090"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 2 1710"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 2 24576"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 2 3120"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 2 1680"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 2 24643"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 2 3065"
[1] "gpt2 bllip-md 1586986276 bnc-brown 2 1685"
[1] "gpt2 bllip-md 1586986276 dundee 2 24523"
[1] "gpt2 bllip-md 1586986276 natural-stories 2 3131"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 2 24509"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 2 3085"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 2 1704"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 2 24539"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 2 3101"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 2 1713"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 2 24526"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 2 1697"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 2 24592"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 2 3099"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 2 1707"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 2 24502"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 2 3098"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 2 1693"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 2 24542"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 2 3099"
[1] "rnng bllip-lg 7245 bnc-brown 2 1704"
[1] "rnng bllip-lg 7245 dundee 2 24486"
[1] "rnng bllip-lg 7245 natural-stories 2 3089"
[1] "rnng bllip-md 3602 bnc-brown 2 1694"
[1] "rnng bllip-md 3602 dundee 2 24616"
[1] "rnng bllip-md 3602 natural-stories 2 3109"
[1] "rnng bllip-md 44862 bnc-brown 2 1691"

|================================================                                                  | 49% ~2 s remaining     [1] "rnng bllip-md 44862 dundee 2 24602"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 2 3107"
[1] "rnng bllip-sm 7877 bnc-brown 2 1692"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 2 24518"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 2 3066"
[1] "rnng bllip-sm 64924 bnc-brown 2 1694"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 2 24473"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 2 3087"
[1] "rnng bllip-xs 4301 bnc-brown 2 1693"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 2 24599"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 2 3107"
[1] "rnng bllip-xs 28066 bnc-brown 2 1707"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 2 24524"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 2 3085"
[1] "rnng bllip-xs 28068 bnc-brown 2 1691"

|===============================================================                                   | 65% ~1 s remaining     [1] "rnng bllip-xs 28068 dundee 2 24541"

|================================================================                                  | 66% ~1 s remaining     [1] "rnng bllip-xs 28068 natural-stories 2 3092"
[1] "rnng bllip-xs 51272 bnc-brown 2 1704"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 2 24395"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 2 3102"
[1] "vanilla bllip-lg 111 bnc-brown 2 1688"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 2 24622"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 2 3098"
[1] "vanilla bllip-md 120 bnc-brown 2 1710"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 2 24554"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 2 3077"
[1] "vanilla bllip-md 607 bnc-brown 2 1686"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 2 1707"
[1] "vanilla bllip-md 922 dundee 2 24594"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 2 3091"
[1] "vanilla bllip-sm 111 bnc-brown 2 1698"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 2 24618"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 2 3082"
[1] "vanilla bllip-sm 120 bnc-brown 2 1682"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 2 24542"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 2 3096"
[1] "vanilla bllip-sm 922 bnc-brown 2 1686"

|======================================================================================            | 88% ~0 s remaining     [1] "vanilla bllip-sm 922 dundee 2 24509"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 2 3101"
[1] "vanilla bllip-xs 111 bnc-brown 2 1723"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 2 24577"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 2 3110"
[1] "vanilla bllip-xs 120 bnc-brown 2 1662"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 2 24480"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 2 3108"
[1] "vanilla bllip-xs 922 bnc-brown 2 1695"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 2 24593"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 2 3097"
[1] "5gram bllip-lg 1111 bnc-brown 2 1699"
[1] "5gram bllip-lg 1111 dundee 2 24529"
[1] "5gram bllip-lg 1111 natural-stories 2 3097"
[1] "5gram bllip-md 1111 bnc-brown 2 1687"
[1] "5gram bllip-md 1111 dundee 2 24445"
[1] "5gram bllip-md 1111 natural-stories 2 3081"
[1] "5gram bllip-sm 1111 bnc-brown 2 1694"
[1] "5gram bllip-sm 1111 dundee 2 24507"
[1] "5gram bllip-sm 1111 natural-stories 2 3092"
[1] "5gram bllip-xs 1111 bnc-brown 2 1698"
[1] "5gram bllip-xs 1111 dundee 2 24567"
[1] "5gram bllip-xs 1111 natural-stories 2 3136"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 2 1695"
[1] "gpt2 bllip-lg 1587139950 dundee 2 24558"
[1] "gpt2 bllip-lg 1587139950 natural-stories 2 3090"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 2 1710"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 2 24576"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 2 3120"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 2 1680"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 2 24643"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 2 3065"
[1] "gpt2 bllip-md 1586986276 bnc-brown 2 1685"
[1] "gpt2 bllip-md 1586986276 dundee 2 24523"
[1] "gpt2 bllip-md 1586986276 natural-stories 2 3131"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 2 24509"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 2 3085"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 2 1704"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 2 24539"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 2 3101"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 2 1713"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 2 24526"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 2 1697"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 2 24592"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 2 3099"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 2 1707"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 2 24502"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 2 3098"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 2 1693"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 2 24542"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 2 3099"
[1] "rnng bllip-lg 7245 bnc-brown 2 1704"

|==========================================                                                        | 43% ~3 s remaining     [1] "rnng bllip-lg 7245 dundee 2 24486"

|===========================================                                                       | 44% ~3 s remaining     [1] "rnng bllip-lg 7245 natural-stories 2 3089"
[1] "rnng bllip-md 3602 bnc-brown 2 1694"

|=============================================                                                     | 46% ~2 s remaining     [1] "rnng bllip-md 3602 dundee 2 24616"

|==============================================                                                    | 47% ~2 s remaining     [1] "rnng bllip-md 3602 natural-stories 2 3109"
[1] "rnng bllip-md 44862 bnc-brown 2 1691"

|================================================                                                  | 49% ~2 s remaining     [1] "rnng bllip-md 44862 dundee 2 24602"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 2 3107"
[1] "rnng bllip-sm 7877 bnc-brown 2 1692"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 2 24518"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 2 3066"
[1] "rnng bllip-sm 64924 bnc-brown 2 1694"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 2 24473"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 2 3087"
[1] "rnng bllip-xs 4301 bnc-brown 2 1693"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 2 24599"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 2 3107"
[1] "rnng bllip-xs 28066 bnc-brown 2 1707"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 2 24524"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 2 3085"
[1] "rnng bllip-xs 28068 bnc-brown 2 1691"

|===============================================================                                   | 65% ~2 s remaining     [1] "rnng bllip-xs 28068 dundee 2 24541"

|================================================================                                  | 66% ~2 s remaining     [1] "rnng bllip-xs 28068 natural-stories 2 3092"
[1] "rnng bllip-xs 51272 bnc-brown 2 1704"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 2 24395"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 2 3102"
[1] "vanilla bllip-lg 111 bnc-brown 2 1688"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 2 24622"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 2 3098"
[1] "vanilla bllip-md 120 bnc-brown 2 1710"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 2 24554"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 2 3077"
[1] "vanilla bllip-md 607 bnc-brown 2 1686"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 2 1707"
[1] "vanilla bllip-md 922 dundee 2 24594"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 2 3091"
[1] "vanilla bllip-sm 111 bnc-brown 2 1698"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 2 24618"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 2 3082"
[1] "vanilla bllip-sm 120 bnc-brown 2 1682"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 2 24542"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 2 3096"
[1] "vanilla bllip-sm 922 bnc-brown 2 1686"

|======================================================================================            | 88% ~1 s remaining     [1] "vanilla bllip-sm 922 dundee 2 24509"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 2 3101"
[1] "vanilla bllip-xs 111 bnc-brown 2 1723"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 2 24577"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 2 3110"
[1] "vanilla bllip-xs 120 bnc-brown 2 1662"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 2 24480"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 2 3108"
[1] "vanilla bllip-xs 922 bnc-brown 2 1695"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 2 24593"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 2 3097"
[1] "5gram bllip-lg 1111 bnc-brown 3 1684"
[1] "5gram bllip-lg 1111 dundee 3 24505"
[1] "5gram bllip-lg 1111 natural-stories 3 3123"
[1] "5gram bllip-md 1111 bnc-brown 3 1710"
[1] "5gram bllip-md 1111 dundee 3 24559"
[1] "5gram bllip-md 1111 natural-stories 3 3123"
[1] "5gram bllip-sm 1111 bnc-brown 3 1691"
[1] "5gram bllip-sm 1111 dundee 3 24554"
[1] "5gram bllip-sm 1111 natural-stories 3 3105"
[1] "5gram bllip-xs 1111 bnc-brown 3 1690"
[1] "5gram bllip-xs 1111 dundee 3 24629"
[1] "5gram bllip-xs 1111 natural-stories 3 3100"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 3 1686"
[1] "gpt2 bllip-lg 1587139950 dundee 3 24549"
[1] "gpt2 bllip-lg 1587139950 natural-stories 3 3107"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 3 1695"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 3 24442"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 3 3093"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 3 1687"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 3 24580"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 3 3107"
[1] "gpt2 bllip-md 1586986276 bnc-brown 3 1693"
[1] "gpt2 bllip-md 1586986276 dundee 3 24502"
[1] "gpt2 bllip-md 1586986276 natural-stories 3 3088"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 3 24644"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 3 3092"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 3 1692"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 3 24596"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 3 3116"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 3 1679"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 3 24546"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 3 1703"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 3 24501"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 3 3105"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 3 1686"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 3 24561"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 3 3065"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 3 1693"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 3 24528"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 3 3094"
[1] "rnng bllip-lg 7245 bnc-brown 3 1707"
[1] "rnng bllip-lg 7245 dundee 3 24594"
[1] "rnng bllip-lg 7245 natural-stories 3 3090"
[1] "rnng bllip-md 3602 bnc-brown 3 1683"
[1] "rnng bllip-md 3602 dundee 3 24499"

|==============================================                                                    | 47% ~2 s remaining     [1] "rnng bllip-md 3602 natural-stories 3 3068"
[1] "rnng bllip-md 44862 bnc-brown 3 1705"

|================================================                                                  | 49% ~2 s remaining     [1] "rnng bllip-md 44862 dundee 3 24534"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 3 3104"
[1] "rnng bllip-sm 7877 bnc-brown 3 1684"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 3 24499"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 3 3079"
[1] "rnng bllip-sm 64924 bnc-brown 3 1700"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 3 24584"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 3 3108"
[1] "rnng bllip-xs 4301 bnc-brown 3 1699"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 3 24562"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 3 3074"
[1] "rnng bllip-xs 28066 bnc-brown 3 1679"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 3 24524"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 3 3087"
[1] "rnng bllip-xs 28068 bnc-brown 3 1695"

|===============================================================                                   | 65% ~2 s remaining     [1] "rnng bllip-xs 28068 dundee 3 24534"

|================================================================                                  | 66% ~1 s remaining     [1] "rnng bllip-xs 28068 natural-stories 3 3154"
[1] "rnng bllip-xs 51272 bnc-brown 3 1659"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 3 24613"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 3 3090"
[1] "vanilla bllip-lg 111 bnc-brown 3 1670"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 3 24628"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 3 3090"
[1] "vanilla bllip-md 120 bnc-brown 3 1693"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 3 24596"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 3 3103"
[1] "vanilla bllip-md 607 bnc-brown 3 1685"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 3 1688"
[1] "vanilla bllip-md 922 dundee 3 24563"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 3 3101"
[1] "vanilla bllip-sm 111 bnc-brown 3 1688"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 3 24545"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 3 3106"
[1] "vanilla bllip-sm 120 bnc-brown 3 1694"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 3 24566"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 3 3086"
[1] "vanilla bllip-sm 922 bnc-brown 3 1690"

|======================================================================================            | 88% ~1 s remaining     [1] "vanilla bllip-sm 922 dundee 3 24577"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 3 3096"
[1] "vanilla bllip-xs 111 bnc-brown 3 1675"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 3 24457"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 3 3051"
[1] "vanilla bllip-xs 120 bnc-brown 3 1702"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 3 24548"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 3 3094"
[1] "vanilla bllip-xs 922 bnc-brown 3 1694"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 3 24476"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 3 3095"
[1] "5gram bllip-lg 1111 bnc-brown 3 1684"
[1] "5gram bllip-lg 1111 dundee 3 24505"
[1] "5gram bllip-lg 1111 natural-stories 3 3123"
[1] "5gram bllip-md 1111 bnc-brown 3 1710"
[1] "5gram bllip-md 1111 dundee 3 24559"
[1] "5gram bllip-md 1111 natural-stories 3 3123"
[1] "5gram bllip-sm 1111 bnc-brown 3 1691"
[1] "5gram bllip-sm 1111 dundee 3 24554"
[1] "5gram bllip-sm 1111 natural-stories 3 3105"
[1] "5gram bllip-xs 1111 bnc-brown 3 1690"
[1] "5gram bllip-xs 1111 dundee 3 24629"
[1] "5gram bllip-xs 1111 natural-stories 3 3100"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 3 1686"
[1] "gpt2 bllip-lg 1587139950 dundee 3 24549"
[1] "gpt2 bllip-lg 1587139950 natural-stories 3 3107"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 3 1695"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 3 24442"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 3 3093"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 3 1687"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 3 24580"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 3 3107"
[1] "gpt2 bllip-md 1586986276 bnc-brown 3 1693"
[1] "gpt2 bllip-md 1586986276 dundee 3 24502"
[1] "gpt2 bllip-md 1586986276 natural-stories 3 3088"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 3 24644"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 3 3092"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 3 1692"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 3 24596"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 3 3116"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 3 1679"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 3 24546"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 3 1703"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 3 24501"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 3 3105"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 3 1686"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 3 24561"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 3 3065"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 3 1693"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 3 24528"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 3 3094"
[1] "rnng bllip-lg 7245 bnc-brown 3 1707"
[1] "rnng bllip-lg 7245 dundee 3 24594"

|===========================================                                                       | 44% ~3 s remaining     [1] "rnng bllip-lg 7245 natural-stories 3 3090"
[1] "rnng bllip-md 3602 bnc-brown 3 1683"

|=============================================                                                     | 46% ~2 s remaining     [1] "rnng bllip-md 3602 dundee 3 24499"

|==============================================                                                    | 47% ~2 s remaining     [1] "rnng bllip-md 3602 natural-stories 3 3068"
[1] "rnng bllip-md 44862 bnc-brown 3 1705"

|================================================                                                  | 49% ~2 s remaining     [1] "rnng bllip-md 44862 dundee 3 24534"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 3 3104"
[1] "rnng bllip-sm 7877 bnc-brown 3 1684"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 3 24499"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 3 3079"
[1] "rnng bllip-sm 64924 bnc-brown 3 1700"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 3 24584"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 3 3108"
[1] "rnng bllip-xs 4301 bnc-brown 3 1699"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 3 24562"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 3 3074"
[1] "rnng bllip-xs 28066 bnc-brown 3 1679"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 3 24524"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 3 3087"
[1] "rnng bllip-xs 28068 bnc-brown 3 1695"

|===============================================================                                   | 65% ~2 s remaining     [1] "rnng bllip-xs 28068 dundee 3 24534"

|================================================================                                  | 66% ~2 s remaining     [1] "rnng bllip-xs 28068 natural-stories 3 3154"
[1] "rnng bllip-xs 51272 bnc-brown 3 1659"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 3 24613"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 3 3090"
[1] "vanilla bllip-lg 111 bnc-brown 3 1670"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 3 24628"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 3 3090"
[1] "vanilla bllip-md 120 bnc-brown 3 1693"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 3 24596"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 3 3103"
[1] "vanilla bllip-md 607 bnc-brown 3 1685"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 3 1688"
[1] "vanilla bllip-md 922 dundee 3 24563"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 3 3101"
[1] "vanilla bllip-sm 111 bnc-brown 3 1688"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 3 24545"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 3 3106"
[1] "vanilla bllip-sm 120 bnc-brown 3 1694"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 3 24566"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 3 3086"

|=====================================================================================             | 87% ~1 s remaining     [1] "vanilla bllip-sm 922 bnc-brown 3 1690"
[1] "vanilla bllip-sm 922 dundee 3 24577"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 3 3096"
[1] "vanilla bllip-xs 111 bnc-brown 3 1675"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 3 24457"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 3 3051"
[1] "vanilla bllip-xs 120 bnc-brown 3 1702"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 3 24548"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 3 3094"
[1] "vanilla bllip-xs 922 bnc-brown 3 1694"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 3 24476"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 3 3095"
[1] "5gram bllip-lg 1111 bnc-brown 4 1690"
[1] "5gram bllip-lg 1111 dundee 4 24534"
[1] "5gram bllip-lg 1111 natural-stories 4 3112"
[1] "5gram bllip-md 1111 bnc-brown 4 1688"
[1] "5gram bllip-md 1111 dundee 4 24568"
[1] "5gram bllip-md 1111 natural-stories 4 3087"
[1] "5gram bllip-sm 1111 bnc-brown 4 1693"
[1] "5gram bllip-sm 1111 dundee 4 24514"
[1] "5gram bllip-sm 1111 natural-stories 4 3084"
[1] "5gram bllip-xs 1111 bnc-brown 4 1693"
[1] "5gram bllip-xs 1111 dundee 4 24468"
[1] "5gram bllip-xs 1111 natural-stories 4 3112"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 4 1683"
[1] "gpt2 bllip-lg 1587139950 dundee 4 24582"
[1] "gpt2 bllip-lg 1587139950 natural-stories 4 3081"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 4 1706"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 4 24549"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 4 3102"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 4 1676"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 4 24555"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 4 3086"
[1] "gpt2 bllip-md 1586986276 bnc-brown 4 1705"
[1] "gpt2 bllip-md 1586986276 dundee 4 24620"
[1] "gpt2 bllip-md 1586986276 natural-stories 4 3129"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 4 24551"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 4 3111"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 4 1691"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 4 24561"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 4 3112"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 4 1689"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 4 24537"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 4 1702"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 4 24555"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 4 3079"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 4 1691"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 4 24640"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 4 3098"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 4 1718"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 4 24573"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 4 3087"
[1] "rnng bllip-lg 7245 bnc-brown 4 1694"
[1] "rnng bllip-lg 7245 dundee 4 24630"
[1] "rnng bllip-lg 7245 natural-stories 4 3069"
[1] "rnng bllip-md 3602 bnc-brown 4 1686"
[1] "rnng bllip-md 3602 dundee 4 24491"
[1] "rnng bllip-md 3602 natural-stories 4 3103"
[1] "rnng bllip-md 44862 bnc-brown 4 1703"

|================================================                                                  | 49% ~2 s remaining     [1] "rnng bllip-md 44862 dundee 4 24565"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 4 3088"
[1] "rnng bllip-sm 7877 bnc-brown 4 1677"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 4 24569"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 4 3083"

|=====================================================                                             | 55% ~2 s remaining     [1] "rnng bllip-sm 64924 bnc-brown 4 1668"
[1] "rnng bllip-sm 64924 dundee 4 24479"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 4 3113"
[1] "rnng bllip-xs 4301 bnc-brown 4 1687"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 4 24550"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 4 3119"
[1] "rnng bllip-xs 28066 bnc-brown 4 1698"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 4 24546"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 4 3095"
[1] "rnng bllip-xs 28068 bnc-brown 4 1702"

|===============================================================                                   | 65% ~1 s remaining     [1] "rnng bllip-xs 28068 dundee 4 24546"

|================================================================                                  | 66% ~1 s remaining     [1] "rnng bllip-xs 28068 natural-stories 4 3075"
[1] "rnng bllip-xs 51272 bnc-brown 4 1692"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 4 24570"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 4 3096"
[1] "vanilla bllip-lg 111 bnc-brown 4 1707"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 4 24525"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 4 3095"
[1] "vanilla bllip-md 120 bnc-brown 4 1681"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 4 24533"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 4 3081"
[1] "vanilla bllip-md 607 bnc-brown 4 1694"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 4 1668"
[1] "vanilla bllip-md 922 dundee 4 24521"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 4 3131"
[1] "vanilla bllip-sm 111 bnc-brown 4 1683"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 4 24634"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 4 3102"
[1] "vanilla bllip-sm 120 bnc-brown 4 1684"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 4 24487"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 4 3094"
[1] "vanilla bllip-sm 922 bnc-brown 4 1700"

|======================================================================================            | 88% ~0 s remaining     [1] "vanilla bllip-sm 922 dundee 4 24535"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 4 3084"
[1] "vanilla bllip-xs 111 bnc-brown 4 1677"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 4 24566"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 4 3077"
[1] "vanilla bllip-xs 120 bnc-brown 4 1688"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 4 24596"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 4 3103"
[1] "vanilla bllip-xs 922 bnc-brown 4 1677"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 4 24475"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 4 3064"
[1] "5gram bllip-lg 1111 bnc-brown 4 1690"
[1] "5gram bllip-lg 1111 dundee 4 24534"
[1] "5gram bllip-lg 1111 natural-stories 4 3112"
[1] "5gram bllip-md 1111 bnc-brown 4 1688"
[1] "5gram bllip-md 1111 dundee 4 24568"
[1] "5gram bllip-md 1111 natural-stories 4 3087"
[1] "5gram bllip-sm 1111 bnc-brown 4 1693"
[1] "5gram bllip-sm 1111 dundee 4 24514"
[1] "5gram bllip-sm 1111 natural-stories 4 3084"
[1] "5gram bllip-xs 1111 bnc-brown 4 1693"
[1] "5gram bllip-xs 1111 dundee 4 24468"
[1] "5gram bllip-xs 1111 natural-stories 4 3112"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 4 1683"
[1] "gpt2 bllip-lg 1587139950 dundee 4 24582"
[1] "gpt2 bllip-lg 1587139950 natural-stories 4 3081"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 4 1706"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 4 24549"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 4 3102"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 4 1676"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 4 24555"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 4 3086"
[1] "gpt2 bllip-md 1586986276 bnc-brown 4 1705"
[1] "gpt2 bllip-md 1586986276 dundee 4 24620"
[1] "gpt2 bllip-md 1586986276 natural-stories 4 3129"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 4 24551"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 4 3111"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 4 1691"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 4 24561"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 4 3112"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 4 1689"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 4 24537"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 4 1702"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 4 24555"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 4 3079"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 4 1691"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 4 24640"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 4 3098"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 4 1718"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 4 24573"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 4 3087"
[1] "rnng bllip-lg 7245 bnc-brown 4 1694"
[1] "rnng bllip-lg 7245 dundee 4 24630"
[1] "rnng bllip-lg 7245 natural-stories 4 3069"

|============================================                                                      | 45% ~2 s remaining     [1] "rnng bllip-md 3602 bnc-brown 4 1686"
[1] "rnng bllip-md 3602 dundee 4 24491"

|==============================================                                                    | 47% ~2 s remaining     [1] "rnng bllip-md 3602 natural-stories 4 3103"
[1] "rnng bllip-md 44862 bnc-brown 4 1703"

|================================================                                                  | 49% ~2 s remaining     [1] "rnng bllip-md 44862 dundee 4 24565"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 4 3088"
[1] "rnng bllip-sm 7877 bnc-brown 4 1677"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 4 24569"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 4 3083"
[1] "rnng bllip-sm 64924 bnc-brown 4 1668"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 4 24479"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 4 3113"
[1] "rnng bllip-xs 4301 bnc-brown 4 1687"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 4 24550"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 4 3119"
[1] "rnng bllip-xs 28066 bnc-brown 4 1698"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 4 24546"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 4 3095"
[1] "rnng bllip-xs 28068 bnc-brown 4 1702"

|===============================================================                                   | 65% ~2 s remaining     [1] "rnng bllip-xs 28068 dundee 4 24546"

|================================================================                                  | 66% ~2 s remaining     [1] "rnng bllip-xs 28068 natural-stories 4 3075"
[1] "rnng bllip-xs 51272 bnc-brown 4 1692"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 4 24570"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 4 3096"
[1] "vanilla bllip-lg 111 bnc-brown 4 1707"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 4 24525"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 4 3095"
[1] "vanilla bllip-md 120 bnc-brown 4 1681"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 4 24533"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 4 3081"
[1] "vanilla bllip-md 607 bnc-brown 4 1694"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 4 1668"
[1] "vanilla bllip-md 922 dundee 4 24521"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 4 3131"
[1] "vanilla bllip-sm 111 bnc-brown 4 1683"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 4 24634"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 4 3102"

|==================================================================================                | 84% ~1 s remaining     [1] "vanilla bllip-sm 120 bnc-brown 4 1684"
[1] "vanilla bllip-sm 120 dundee 4 24487"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 4 3094"
[1] "vanilla bllip-sm 922 bnc-brown 4 1700"

|======================================================================================            | 88% ~1 s remaining     [1] "vanilla bllip-sm 922 dundee 4 24535"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 4 3084"
[1] "vanilla bllip-xs 111 bnc-brown 4 1677"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 4 24566"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 4 3077"
[1] "vanilla bllip-xs 120 bnc-brown 4 1688"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 4 24596"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 4 3103"
[1] "vanilla bllip-xs 922 bnc-brown 4 1677"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 4 24475"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 4 3064"
[1] "5gram bllip-lg 1111 bnc-brown 5 1683"
[1] "5gram bllip-lg 1111 dundee 5 24483"
[1] "5gram bllip-lg 1111 natural-stories 5 3099"
[1] "5gram bllip-md 1111 bnc-brown 5 1670"
[1] "5gram bllip-md 1111 dundee 5 24566"
[1] "5gram bllip-md 1111 natural-stories 5 3071"
[1] "5gram bllip-sm 1111 bnc-brown 5 1673"
[1] "5gram bllip-sm 1111 dundee 5 24579"
[1] "5gram bllip-sm 1111 natural-stories 5 3117"
[1] "5gram bllip-xs 1111 bnc-brown 5 1710"
[1] "5gram bllip-xs 1111 dundee 5 24563"
[1] "5gram bllip-xs 1111 natural-stories 5 3100"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 5 1682"
[1] "gpt2 bllip-lg 1587139950 dundee 5 24488"
[1] "gpt2 bllip-lg 1587139950 natural-stories 5 3135"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 5 1669"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 5 24603"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 5 3107"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 5 1697"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 5 24549"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 5 3124"
[1] "gpt2 bllip-md 1586986276 bnc-brown 5 1684"
[1] "gpt2 bllip-md 1586986276 dundee 5 24544"
[1] "gpt2 bllip-md 1586986276 natural-stories 5 3092"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 5 24578"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 5 3115"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 5 1712"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 5 24528"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 5 3066"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 5 1682"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 5 24532"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 5 1705"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 5 24595"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 5 3062"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 5 1678"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 5 24383"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 5 3079"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 5 1682"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 5 24583"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 5 3121"
[1] "rnng bllip-lg 7245 bnc-brown 5 1662"
[1] "rnng bllip-lg 7245 dundee 5 24431"
[1] "rnng bllip-lg 7245 natural-stories 5 3072"
[1] "rnng bllip-md 3602 bnc-brown 5 1683"
[1] "rnng bllip-md 3602 dundee 5 24554"
[1] "rnng bllip-md 3602 natural-stories 5 3102"

|===============================================                                                   | 48% ~2 s remaining     [1] "rnng bllip-md 44862 bnc-brown 5 1701"
[1] "rnng bllip-md 44862 dundee 5 24549"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 5 3109"
[1] "rnng bllip-sm 7877 bnc-brown 5 1692"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 5 24533"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 5 3119"
[1] "rnng bllip-sm 64924 bnc-brown 5 1687"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 5 24542"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 5 3109"
[1] "rnng bllip-xs 4301 bnc-brown 5 1706"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 5 24549"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 5 3103"
[1] "rnng bllip-xs 28066 bnc-brown 5 1697"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 5 24533"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 5 3103"
[1] "rnng bllip-xs 28068 bnc-brown 5 1699"

|===============================================================                                   | 65% ~1 s remaining     [1] "rnng bllip-xs 28068 dundee 5 24613"

|================================================================                                  | 66% ~1 s remaining     [1] "rnng bllip-xs 28068 natural-stories 5 3043"
[1] "rnng bllip-xs 51272 bnc-brown 5 1713"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 5 24520"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 5 3108"
[1] "vanilla bllip-lg 111 bnc-brown 5 1709"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 5 24597"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 5 3093"
[1] "vanilla bllip-md 120 bnc-brown 5 1683"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 5 24573"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 5 3105"
[1] "vanilla bllip-md 607 bnc-brown 5 1695"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 5 1688"
[1] "vanilla bllip-md 922 dundee 5 24626"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 5 3102"
[1] "vanilla bllip-sm 111 bnc-brown 5 1678"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 5 24523"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 5 3061"
[1] "vanilla bllip-sm 120 bnc-brown 5 1689"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 5 24577"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 5 3104"
[1] "vanilla bllip-sm 922 bnc-brown 5 1658"

|======================================================================================            | 88% ~0 s remaining     [1] "vanilla bllip-sm 922 dundee 5 24550"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 5 3106"
[1] "vanilla bllip-xs 111 bnc-brown 5 1711"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 5 24519"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 5 3103"
[1] "vanilla bllip-xs 120 bnc-brown 5 1706"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 5 24613"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 5 3105"
[1] "vanilla bllip-xs 922 bnc-brown 5 1724"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 5 24535"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 5 3114"
[1] "5gram bllip-lg 1111 bnc-brown 5 1683"
[1] "5gram bllip-lg 1111 dundee 5 24483"
[1] "5gram bllip-lg 1111 natural-stories 5 3099"
[1] "5gram bllip-md 1111 bnc-brown 5 1670"
[1] "5gram bllip-md 1111 dundee 5 24566"
[1] "5gram bllip-md 1111 natural-stories 5 3071"
[1] "5gram bllip-sm 1111 bnc-brown 5 1673"
[1] "5gram bllip-sm 1111 dundee 5 24579"
[1] "5gram bllip-sm 1111 natural-stories 5 3117"
[1] "5gram bllip-xs 1111 bnc-brown 5 1710"
[1] "5gram bllip-xs 1111 dundee 5 24563"
[1] "5gram bllip-xs 1111 natural-stories 5 3100"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 5 1682"
[1] "gpt2 bllip-lg 1587139950 dundee 5 24488"
[1] "gpt2 bllip-lg 1587139950 natural-stories 5 3135"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 5 1669"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 5 24603"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 5 3107"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 5 1697"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 5 24549"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 5 3124"
[1] "gpt2 bllip-md 1586986276 bnc-brown 5 1684"
[1] "gpt2 bllip-md 1586986276 dundee 5 24544"
[1] "gpt2 bllip-md 1586986276 natural-stories 5 3092"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 5 24578"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 5 3115"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 5 1712"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 5 24528"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 5 3066"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 5 1682"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 5 24532"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 5 1705"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 5 24595"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 5 3062"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 5 1678"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 5 24383"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 5 3079"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 5 1682"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 5 24583"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 5 3121"
[1] "rnng bllip-lg 7245 bnc-brown 5 1662"
[1] "rnng bllip-lg 7245 dundee 5 24431"

|===========================================                                                       | 44% ~3 s remaining     [1] "rnng bllip-lg 7245 natural-stories 5 3072"
[1] "rnng bllip-md 3602 bnc-brown 5 1683"

|=============================================                                                     | 46% ~2 s remaining     [1] "rnng bllip-md 3602 dundee 5 24554"

|==============================================                                                    | 47% ~2 s remaining     [1] "rnng bllip-md 3602 natural-stories 5 3102"
[1] "rnng bllip-md 44862 bnc-brown 5 1701"

|================================================                                                  | 49% ~2 s remaining     [1] "rnng bllip-md 44862 dundee 5 24549"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 5 3109"
[1] "rnng bllip-sm 7877 bnc-brown 5 1692"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 5 24533"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 5 3119"
[1] "rnng bllip-sm 64924 bnc-brown 5 1687"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 5 24542"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 5 3109"
[1] "rnng bllip-xs 4301 bnc-brown 5 1706"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 5 24549"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 5 3103"
[1] "rnng bllip-xs 28066 bnc-brown 5 1697"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 5 24533"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 5 3103"
[1] "rnng bllip-xs 28068 bnc-brown 5 1699"

|===============================================================                                   | 65% ~2 s remaining     [1] "rnng bllip-xs 28068 dundee 5 24613"

|================================================================                                  | 66% ~2 s remaining     [1] "rnng bllip-xs 28068 natural-stories 5 3043"
[1] "rnng bllip-xs 51272 bnc-brown 5 1713"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 5 24520"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 5 3108"
[1] "vanilla bllip-lg 111 bnc-brown 5 1709"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 5 24597"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 5 3093"
[1] "vanilla bllip-md 120 bnc-brown 5 1683"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 5 24573"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 5 3105"
[1] "vanilla bllip-md 607 bnc-brown 5 1695"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 5 1688"
[1] "vanilla bllip-md 922 dundee 5 24626"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 5 3102"
[1] "vanilla bllip-sm 111 bnc-brown 5 1678"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 5 24523"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 5 3061"
[1] "vanilla bllip-sm 120 bnc-brown 5 1689"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 5 24577"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 5 3104"
[1] "vanilla bllip-sm 922 bnc-brown 5 1658"

|======================================================================================            | 88% ~1 s remaining     [1] "vanilla bllip-sm 922 dundee 5 24550"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 5 3106"
[1] "vanilla bllip-xs 111 bnc-brown 5 1711"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 5 24519"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 5 3103"
[1] "vanilla bllip-xs 120 bnc-brown 5 1706"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 5 24613"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 5 3105"
[1] "vanilla bllip-xs 922 bnc-brown 5 1724"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 5 24535"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 5 3114"
[1] "5gram bllip-lg 1111 bnc-brown 6 1684"
[1] "5gram bllip-lg 1111 dundee 6 24592"
[1] "5gram bllip-lg 1111 natural-stories 6 3062"
[1] "5gram bllip-md 1111 bnc-brown 6 1694"
[1] "5gram bllip-md 1111 dundee 6 24519"
[1] "5gram bllip-md 1111 natural-stories 6 3083"
[1] "5gram bllip-sm 1111 bnc-brown 6 1706"
[1] "5gram bllip-sm 1111 dundee 6 24528"
[1] "5gram bllip-sm 1111 natural-stories 6 3106"
[1] "5gram bllip-xs 1111 bnc-brown 6 1713"
[1] "5gram bllip-xs 1111 dundee 6 24646"
[1] "5gram bllip-xs 1111 natural-stories 6 3087"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 6 1698"
[1] "gpt2 bllip-lg 1587139950 dundee 6 24562"
[1] "gpt2 bllip-lg 1587139950 natural-stories 6 3104"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 6 1699"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 6 24571"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 6 3079"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 6 1686"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 6 24473"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 6 3135"
[1] "gpt2 bllip-md 1586986276 bnc-brown 6 1690"
[1] "gpt2 bllip-md 1586986276 dundee 6 24477"
[1] "gpt2 bllip-md 1586986276 natural-stories 6 3059"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 6 24503"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 6 3096"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 6 1668"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 6 24620"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 6 3061"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 6 1688"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 6 24562"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 6 1709"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 6 24538"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 6 3127"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 6 1695"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 6 24601"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 6 3116"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 6 1694"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 6 24526"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 6 3101"
[1] "rnng bllip-lg 7245 bnc-brown 6 1686"
[1] "rnng bllip-lg 7245 dundee 6 24472"
[1] "rnng bllip-lg 7245 natural-stories 6 3112"
[1] "rnng bllip-md 3602 bnc-brown 6 1702"
[1] "rnng bllip-md 3602 dundee 6 24469"

|==============================================                                                    | 47% ~2 s remaining     [1] "rnng bllip-md 3602 natural-stories 6 3082"
[1] "rnng bllip-md 44862 bnc-brown 6 1678"

|================================================                                                  | 49% ~2 s remaining     [1] "rnng bllip-md 44862 dundee 6 24493"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 6 3117"
[1] "rnng bllip-sm 7877 bnc-brown 6 1712"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 6 24517"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 6 3091"
[1] "rnng bllip-sm 64924 bnc-brown 6 1688"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 6 24549"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 6 3071"
[1] "rnng bllip-xs 4301 bnc-brown 6 1687"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 6 24601"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 6 3117"
[1] "rnng bllip-xs 28066 bnc-brown 6 1670"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 6 24547"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 6 3110"
[1] "rnng bllip-xs 28068 bnc-brown 6 1696"

|===============================================================                                   | 65% ~1 s remaining     [1] "rnng bllip-xs 28068 dundee 6 24495"

|================================================================                                  | 66% ~1 s remaining     [1] "rnng bllip-xs 28068 natural-stories 6 3108"
[1] "rnng bllip-xs 51272 bnc-brown 6 1684"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 6 24571"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 6 3092"
[1] "vanilla bllip-lg 111 bnc-brown 6 1702"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 6 24613"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 6 3099"
[1] "vanilla bllip-md 120 bnc-brown 6 1680"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 6 24632"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 6 3105"
[1] "vanilla bllip-md 607 bnc-brown 6 1679"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 6 1700"
[1] "vanilla bllip-md 922 dundee 6 24543"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 6 3119"
[1] "vanilla bllip-sm 111 bnc-brown 6 1704"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 6 24410"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 6 3089"
[1] "vanilla bllip-sm 120 bnc-brown 6 1689"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 6 24636"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 6 3122"
[1] "vanilla bllip-sm 922 bnc-brown 6 1695"

|======================================================================================            | 88% ~0 s remaining     [1] "vanilla bllip-sm 922 dundee 6 24609"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 6 3091"
[1] "vanilla bllip-xs 111 bnc-brown 6 1704"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 6 24565"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 6 3114"
[1] "vanilla bllip-xs 120 bnc-brown 6 1682"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 6 24461"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 6 3081"
[1] "vanilla bllip-xs 922 bnc-brown 6 1691"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 6 24572"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 6 3106"
[1] "5gram bllip-lg 1111 bnc-brown 6 1684"
[1] "5gram bllip-lg 1111 dundee 6 24592"
[1] "5gram bllip-lg 1111 natural-stories 6 3062"
[1] "5gram bllip-md 1111 bnc-brown 6 1694"
[1] "5gram bllip-md 1111 dundee 6 24519"
[1] "5gram bllip-md 1111 natural-stories 6 3083"
[1] "5gram bllip-sm 1111 bnc-brown 6 1706"
[1] "5gram bllip-sm 1111 dundee 6 24528"
[1] "5gram bllip-sm 1111 natural-stories 6 3106"
[1] "5gram bllip-xs 1111 bnc-brown 6 1713"
[1] "5gram bllip-xs 1111 dundee 6 24646"
[1] "5gram bllip-xs 1111 natural-stories 6 3087"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 6 1698"
[1] "gpt2 bllip-lg 1587139950 dundee 6 24562"
[1] "gpt2 bllip-lg 1587139950 natural-stories 6 3104"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 6 1699"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 6 24571"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 6 3079"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 6 1686"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 6 24473"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 6 3135"
[1] "gpt2 bllip-md 1586986276 bnc-brown 6 1690"
[1] "gpt2 bllip-md 1586986276 dundee 6 24477"
[1] "gpt2 bllip-md 1586986276 natural-stories 6 3059"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 6 24503"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 6 3096"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 6 1668"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 6 24620"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 6 3061"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 6 1688"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 6 24562"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 6 1709"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 6 24538"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 6 3127"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 6 1695"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 6 24601"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 6 3116"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 6 1694"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 6 24526"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 6 3101"
[1] "rnng bllip-lg 7245 bnc-brown 6 1686"
[1] "rnng bllip-lg 7245 dundee 6 24472"

|===========================================                                                       | 44% ~3 s remaining     [1] "rnng bllip-lg 7245 natural-stories 6 3112"
[1] "rnng bllip-md 3602 bnc-brown 6 1702"

|=============================================                                                     | 46% ~2 s remaining     [1] "rnng bllip-md 3602 dundee 6 24469"

|==============================================                                                    | 47% ~2 s remaining     [1] "rnng bllip-md 3602 natural-stories 6 3082"
[1] "rnng bllip-md 44862 bnc-brown 6 1678"

|================================================                                                  | 49% ~2 s remaining     [1] "rnng bllip-md 44862 dundee 6 24493"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 6 3117"
[1] "rnng bllip-sm 7877 bnc-brown 6 1712"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 6 24517"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 6 3091"
[1] "rnng bllip-sm 64924 bnc-brown 6 1688"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 6 24549"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 6 3071"
[1] "rnng bllip-xs 4301 bnc-brown 6 1687"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 6 24601"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 6 3117"
[1] "rnng bllip-xs 28066 bnc-brown 6 1670"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 6 24547"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 6 3110"
[1] "rnng bllip-xs 28068 bnc-brown 6 1696"

|===============================================================                                   | 65% ~2 s remaining     [1] "rnng bllip-xs 28068 dundee 6 24495"

|================================================================                                  | 66% ~2 s remaining     [1] "rnng bllip-xs 28068 natural-stories 6 3108"

|==================================================================                                | 67% ~2 s remaining     [1] "rnng bllip-xs 51272 bnc-brown 6 1684"
[1] "rnng bllip-xs 51272 dundee 6 24571"

|====================================================================                              | 69% ~2 s remaining     [1] "rnng bllip-xs 51272 natural-stories 6 3092"
[1] "vanilla bllip-lg 111 bnc-brown 6 1702"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 6 24613"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 6 3099"
[1] "vanilla bllip-md 120 bnc-brown 6 1680"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 6 24632"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 6 3105"
[1] "vanilla bllip-md 607 bnc-brown 6 1679"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 6 1700"
[1] "vanilla bllip-md 922 dundee 6 24543"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 6 3119"
[1] "vanilla bllip-sm 111 bnc-brown 6 1704"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 6 24410"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 6 3089"
[1] "vanilla bllip-sm 120 bnc-brown 6 1689"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 6 24636"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 6 3122"
[1] "vanilla bllip-sm 922 bnc-brown 6 1695"

|======================================================================================            | 88% ~1 s remaining     [1] "vanilla bllip-sm 922 dundee 6 24609"

|=======================================================================================           | 89% ~1 s remaining     [1] "vanilla bllip-sm 922 natural-stories 6 3091"
[1] "vanilla bllip-xs 111 bnc-brown 6 1704"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 6 24565"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 6 3114"
[1] "vanilla bllip-xs 120 bnc-brown 6 1682"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 6 24461"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 6 3081"
[1] "vanilla bllip-xs 922 bnc-brown 6 1691"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 6 24572"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 6 3106"
[1] "5gram bllip-lg 1111 bnc-brown 7 1686"
[1] "5gram bllip-lg 1111 dundee 7 24655"
[1] "5gram bllip-lg 1111 natural-stories 7 3100"
[1] "5gram bllip-md 1111 bnc-brown 7 1705"
[1] "5gram bllip-md 1111 dundee 7 24521"
[1] "5gram bllip-md 1111 natural-stories 7 3110"
[1] "5gram bllip-sm 1111 bnc-brown 7 1681"
[1] "5gram bllip-sm 1111 dundee 7 24601"
[1] "5gram bllip-sm 1111 natural-stories 7 3080"
[1] "5gram bllip-xs 1111 bnc-brown 7 1677"
[1] "5gram bllip-xs 1111 dundee 7 24490"
[1] "5gram bllip-xs 1111 natural-stories 7 3106"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 7 1697"
[1] "gpt2 bllip-lg 1587139950 dundee 7 24498"
[1] "gpt2 bllip-lg 1587139950 natural-stories 7 3075"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 7 1697"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 7 24513"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 7 3085"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 7 1703"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 7 24459"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 7 3123"
[1] "gpt2 bllip-md 1586986276 bnc-brown 7 1693"
[1] "gpt2 bllip-md 1586986276 dundee 7 24623"
[1] "gpt2 bllip-md 1586986276 natural-stories 7 3096"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 7 24542"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 7 3106"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 7 1686"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 7 24503"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 7 3088"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 7 1695"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 7 24576"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 7 1685"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 7 24512"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 7 3087"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 7 1706"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 7 24558"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 7 3108"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 7 1690"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 7 24596"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 7 3095"
[1] "rnng bllip-lg 7245 bnc-brown 7 1677"
[1] "rnng bllip-lg 7245 dundee 7 24653"
[1] "rnng bllip-lg 7245 natural-stories 7 3089"
[1] "rnng bllip-md 3602 bnc-brown 7 1701"
[1] "rnng bllip-md 3602 dundee 7 24562"

|==============================================                                                    | 47% ~2 s remaining     [1] "rnng bllip-md 3602 natural-stories 7 3105"
[1] "rnng bllip-md 44862 bnc-brown 7 1705"

|================================================                                                  | 49% ~2 s remaining     [1] "rnng bllip-md 44862 dundee 7 24596"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 7 3055"
[1] "rnng bllip-sm 7877 bnc-brown 7 1687"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 7 24546"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 7 3094"
[1] "rnng bllip-sm 64924 bnc-brown 7 1674"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 7 24505"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 7 3094"
[1] "rnng bllip-xs 4301 bnc-brown 7 1700"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 7 24528"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 7 3096"
[1] "rnng bllip-xs 28066 bnc-brown 7 1697"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 7 24551"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 7 3081"
[1] "rnng bllip-xs 28068 bnc-brown 7 1693"

|===============================================================                                   | 65% ~1 s remaining     [1] "rnng bllip-xs 28068 dundee 7 24471"

|================================================================                                  | 66% ~1 s remaining     [1] "rnng bllip-xs 28068 natural-stories 7 3091"
[1] "rnng bllip-xs 51272 bnc-brown 7 1688"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 7 24607"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 7 3089"
[1] "vanilla bllip-lg 111 bnc-brown 7 1680"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 7 24464"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 7 3085"
[1] "vanilla bllip-md 120 bnc-brown 7 1718"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 7 24532"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 7 3078"
[1] "vanilla bllip-md 607 bnc-brown 7 1699"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 7 1702"
[1] "vanilla bllip-md 922 dundee 7 24471"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 7 3112"
[1] "vanilla bllip-sm 111 bnc-brown 7 1697"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 7 24529"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 7 3117"
[1] "vanilla bllip-sm 120 bnc-brown 7 1704"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 7 24596"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 7 3109"
[1] "vanilla bllip-sm 922 bnc-brown 7 1687"

|======================================================================================            | 88% ~0 s remaining     [1] "vanilla bllip-sm 922 dundee 7 24562"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 7 3108"
[1] "vanilla bllip-xs 111 bnc-brown 7 1678"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 7 24600"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 7 3099"
[1] "vanilla bllip-xs 120 bnc-brown 7 1667"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 7 24558"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 7 3066"
[1] "vanilla bllip-xs 922 bnc-brown 7 1683"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 7 24600"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 7 3125"
[1] "5gram bllip-lg 1111 bnc-brown 7 1686"
[1] "5gram bllip-lg 1111 dundee 7 24655"
[1] "5gram bllip-lg 1111 natural-stories 7 3100"
[1] "5gram bllip-md 1111 bnc-brown 7 1705"
[1] "5gram bllip-md 1111 dundee 7 24521"
[1] "5gram bllip-md 1111 natural-stories 7 3110"
[1] "5gram bllip-sm 1111 bnc-brown 7 1681"
[1] "5gram bllip-sm 1111 dundee 7 24601"
[1] "5gram bllip-sm 1111 natural-stories 7 3080"
[1] "5gram bllip-xs 1111 bnc-brown 7 1677"
[1] "5gram bllip-xs 1111 dundee 7 24490"
[1] "5gram bllip-xs 1111 natural-stories 7 3106"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 7 1697"
[1] "gpt2 bllip-lg 1587139950 dundee 7 24498"
[1] "gpt2 bllip-lg 1587139950 natural-stories 7 3075"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 7 1697"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 7 24513"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 7 3085"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 7 1703"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 7 24459"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 7 3123"
[1] "gpt2 bllip-md 1586986276 bnc-brown 7 1693"
[1] "gpt2 bllip-md 1586986276 dundee 7 24623"
[1] "gpt2 bllip-md 1586986276 natural-stories 7 3096"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 7 24542"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 7 3106"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 7 1686"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 7 24503"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 7 3088"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 7 1695"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 7 24576"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 7 1685"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 7 24512"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 7 3087"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 7 1706"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 7 24558"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 7 3108"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 7 1690"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 7 24596"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 7 3095"
[1] "rnng bllip-lg 7245 bnc-brown 7 1677"
[1] "rnng bllip-lg 7245 dundee 7 24653"
[1] "rnng bllip-lg 7245 natural-stories 7 3089"
[1] "rnng bllip-md 3602 bnc-brown 7 1701"
[1] "rnng bllip-md 3602 dundee 7 24562"

|==============================================                                                    | 47% ~2 s remaining     [1] "rnng bllip-md 3602 natural-stories 7 3105"
[1] "rnng bllip-md 44862 bnc-brown 7 1705"

|================================================                                                  | 49% ~2 s remaining     [1] "rnng bllip-md 44862 dundee 7 24596"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 7 3055"
[1] "rnng bllip-sm 7877 bnc-brown 7 1687"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 7 24546"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 7 3094"
[1] "rnng bllip-sm 64924 bnc-brown 7 1674"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 7 24505"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 7 3094"
[1] "rnng bllip-xs 4301 bnc-brown 7 1700"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 7 24528"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 7 3096"
[1] "rnng bllip-xs 28066 bnc-brown 7 1697"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 7 24551"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 7 3081"
[1] "rnng bllip-xs 28068 bnc-brown 7 1693"

|===============================================================                                   | 65% ~2 s remaining     [1] "rnng bllip-xs 28068 dundee 7 24471"

|================================================================                                  | 66% ~2 s remaining     [1] "rnng bllip-xs 28068 natural-stories 7 3091"
[1] "rnng bllip-xs 51272 bnc-brown 7 1688"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 7 24607"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 7 3089"
[1] "vanilla bllip-lg 111 bnc-brown 7 1680"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 7 24464"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 7 3085"
[1] "vanilla bllip-md 120 bnc-brown 7 1718"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 7 24532"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 7 3078"
[1] "vanilla bllip-md 607 bnc-brown 7 1699"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 7 1702"
[1] "vanilla bllip-md 922 dundee 7 24471"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 7 3112"
[1] "vanilla bllip-sm 111 bnc-brown 7 1697"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 7 24529"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 7 3117"
[1] "vanilla bllip-sm 120 bnc-brown 7 1704"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 7 24596"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 7 3109"
[1] "vanilla bllip-sm 922 bnc-brown 7 1687"

|======================================================================================            | 88% ~1 s remaining     [1] "vanilla bllip-sm 922 dundee 7 24562"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 7 3108"
[1] "vanilla bllip-xs 111 bnc-brown 7 1678"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 7 24600"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 7 3099"
[1] "vanilla bllip-xs 120 bnc-brown 7 1667"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 7 24558"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 7 3066"
[1] "vanilla bllip-xs 922 bnc-brown 7 1683"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 7 24600"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 7 3125"
[1] "5gram bllip-lg 1111 bnc-brown 8 1701"
[1] "5gram bllip-lg 1111 dundee 8 24572"
[1] "5gram bllip-lg 1111 natural-stories 8 3088"
[1] "5gram bllip-md 1111 bnc-brown 8 1692"
[1] "5gram bllip-md 1111 dundee 8 24424"
[1] "5gram bllip-md 1111 natural-stories 8 3102"
[1] "5gram bllip-sm 1111 bnc-brown 8 1713"
[1] "5gram bllip-sm 1111 dundee 8 24561"
[1] "5gram bllip-sm 1111 natural-stories 8 3102"
[1] "5gram bllip-xs 1111 bnc-brown 8 1696"
[1] "5gram bllip-xs 1111 dundee 8 24446"
[1] "5gram bllip-xs 1111 natural-stories 8 3091"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 8 1682"
[1] "gpt2 bllip-lg 1587139950 dundee 8 24492"
[1] "gpt2 bllip-lg 1587139950 natural-stories 8 3078"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 8 1682"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 8 24567"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 8 3081"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 8 1709"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 8 24574"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 8 3073"
[1] "gpt2 bllip-md 1586986276 bnc-brown 8 1684"
[1] "gpt2 bllip-md 1586986276 dundee 8 24480"
[1] "gpt2 bllip-md 1586986276 natural-stories 8 3073"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 8 24544"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 8 3074"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 8 1692"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 8 24426"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 8 3117"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 8 1695"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 8 24498"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 8 1706"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 8 24556"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 8 3098"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 8 1672"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 8 24605"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 8 3096"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 8 1701"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 8 24654"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 8 3084"
[1] "rnng bllip-lg 7245 bnc-brown 8 1697"
[1] "rnng bllip-lg 7245 dundee 8 24583"
[1] "rnng bllip-lg 7245 natural-stories 8 3127"
[1] "rnng bllip-md 3602 bnc-brown 8 1695"
[1] "rnng bllip-md 3602 dundee 8 24650"

|==============================================                                                    | 47% ~2 s remaining     [1] "rnng bllip-md 3602 natural-stories 8 3067"
[1] "rnng bllip-md 44862 bnc-brown 8 1673"

|================================================                                                  | 49% ~2 s remaining     [1] "rnng bllip-md 44862 dundee 8 24382"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 8 3115"
[1] "rnng bllip-sm 7877 bnc-brown 8 1693"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 8 24576"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 8 3134"
[1] "rnng bllip-sm 64924 bnc-brown 8 1695"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 8 24488"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 8 3083"
[1] "rnng bllip-xs 4301 bnc-brown 8 1686"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 8 24549"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 8 3106"
[1] "rnng bllip-xs 28066 bnc-brown 8 1707"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 8 24622"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 8 3102"
[1] "rnng bllip-xs 28068 bnc-brown 8 1701"

|===============================================================                                   | 65% ~2 s remaining     [1] "rnng bllip-xs 28068 dundee 8 24579"

|================================================================                                  | 66% ~1 s remaining     [1] "rnng bllip-xs 28068 natural-stories 8 3080"
[1] "rnng bllip-xs 51272 bnc-brown 8 1695"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 8 24564"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 8 3083"
[1] "vanilla bllip-lg 111 bnc-brown 8 1700"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 8 24629"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 8 3112"
[1] "vanilla bllip-md 120 bnc-brown 8 1685"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 8 24472"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 8 3129"
[1] "vanilla bllip-md 607 bnc-brown 8 1706"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 8 1685"
[1] "vanilla bllip-md 922 dundee 8 24467"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 8 3063"
[1] "vanilla bllip-sm 111 bnc-brown 8 1681"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 8 24662"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 8 3109"
[1] "vanilla bllip-sm 120 bnc-brown 8 1715"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 8 24567"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 8 3104"
[1] "vanilla bllip-sm 922 bnc-brown 8 1699"

|======================================================================================            | 88% ~1 s remaining     [1] "vanilla bllip-sm 922 dundee 8 24590"

|=======================================================================================           | 89% ~1 s remaining     [1] "vanilla bllip-sm 922 natural-stories 8 3080"
[1] "vanilla bllip-xs 111 bnc-brown 8 1671"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 8 24568"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 8 3080"
[1] "vanilla bllip-xs 120 bnc-brown 8 1696"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 8 24570"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 8 3108"
[1] "vanilla bllip-xs 922 bnc-brown 8 1704"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 8 24580"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 8 3123"
[1] "5gram bllip-lg 1111 bnc-brown 8 1701"
[1] "5gram bllip-lg 1111 dundee 8 24572"
[1] "5gram bllip-lg 1111 natural-stories 8 3088"
[1] "5gram bllip-md 1111 bnc-brown 8 1692"
[1] "5gram bllip-md 1111 dundee 8 24424"
[1] "5gram bllip-md 1111 natural-stories 8 3102"
[1] "5gram bllip-sm 1111 bnc-brown 8 1713"
[1] "5gram bllip-sm 1111 dundee 8 24561"
[1] "5gram bllip-sm 1111 natural-stories 8 3102"
[1] "5gram bllip-xs 1111 bnc-brown 8 1696"
[1] "5gram bllip-xs 1111 dundee 8 24446"
[1] "5gram bllip-xs 1111 natural-stories 8 3091"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 8 1682"
[1] "gpt2 bllip-lg 1587139950 dundee 8 24492"
[1] "gpt2 bllip-lg 1587139950 natural-stories 8 3078"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 8 1682"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 8 24567"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 8 3081"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 8 1709"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 8 24574"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 8 3073"
[1] "gpt2 bllip-md 1586986276 bnc-brown 8 1684"
[1] "gpt2 bllip-md 1586986276 dundee 8 24480"
[1] "gpt2 bllip-md 1586986276 natural-stories 8 3073"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 8 24544"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 8 3074"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 8 1692"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 8 24426"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 8 3117"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 8 1695"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 8 24498"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 8 1706"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 8 24556"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 8 3098"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 8 1672"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 8 24605"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 8 3096"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 8 1701"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 8 24654"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 8 3084"
[1] "rnng bllip-lg 7245 bnc-brown 8 1697"
[1] "rnng bllip-lg 7245 dundee 8 24583"
[1] "rnng bllip-lg 7245 natural-stories 8 3127"
[1] "rnng bllip-md 3602 bnc-brown 8 1695"

|=============================================                                                     | 46% ~2 s remaining     [1] "rnng bllip-md 3602 dundee 8 24650"

|==============================================                                                    | 47% ~2 s remaining     [1] "rnng bllip-md 3602 natural-stories 8 3067"

|===============================================                                                   | 48% ~2 s remaining     [1] "rnng bllip-md 44862 bnc-brown 8 1673"
[1] "rnng bllip-md 44862 dundee 8 24382"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 8 3115"
[1] "rnng bllip-sm 7877 bnc-brown 8 1693"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 8 24576"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 8 3134"
[1] "rnng bllip-sm 64924 bnc-brown 8 1695"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 8 24488"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 8 3083"
[1] "rnng bllip-xs 4301 bnc-brown 8 1686"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 8 24549"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 8 3106"
[1] "rnng bllip-xs 28066 bnc-brown 8 1707"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 8 24622"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 8 3102"
[1] "rnng bllip-xs 28068 bnc-brown 8 1701"

|===============================================================                                   | 65% ~2 s remaining     [1] "rnng bllip-xs 28068 dundee 8 24579"

|================================================================                                  | 66% ~2 s remaining     [1] "rnng bllip-xs 28068 natural-stories 8 3080"
[1] "rnng bllip-xs 51272 bnc-brown 8 1695"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 8 24564"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 8 3083"
[1] "vanilla bllip-lg 111 bnc-brown 8 1700"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 8 24629"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 8 3112"
[1] "vanilla bllip-md 120 bnc-brown 8 1685"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 8 24472"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 8 3129"
[1] "vanilla bllip-md 607 bnc-brown 8 1706"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 8 1685"
[1] "vanilla bllip-md 922 dundee 8 24467"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 8 3063"
[1] "vanilla bllip-sm 111 bnc-brown 8 1681"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 8 24662"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 8 3109"
[1] "vanilla bllip-sm 120 bnc-brown 8 1715"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 8 24567"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 8 3104"
[1] "vanilla bllip-sm 922 bnc-brown 8 1699"

|======================================================================================            | 88% ~1 s remaining     [1] "vanilla bllip-sm 922 dundee 8 24590"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 8 3080"
[1] "vanilla bllip-xs 111 bnc-brown 8 1671"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 8 24568"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 8 3080"
[1] "vanilla bllip-xs 120 bnc-brown 8 1696"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 8 24570"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 8 3108"
[1] "vanilla bllip-xs 922 bnc-brown 8 1704"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 8 24580"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 8 3123"
[1] "5gram bllip-lg 1111 bnc-brown 9 1733"
[1] "5gram bllip-lg 1111 dundee 9 24517"
[1] "5gram bllip-lg 1111 natural-stories 9 3099"
[1] "5gram bllip-md 1111 bnc-brown 9 1704"
[1] "5gram bllip-md 1111 dundee 9 24622"
[1] "5gram bllip-md 1111 natural-stories 9 3118"
[1] "5gram bllip-sm 1111 bnc-brown 9 1694"
[1] "5gram bllip-sm 1111 dundee 9 24482"
[1] "5gram bllip-sm 1111 natural-stories 9 3083"
[1] "5gram bllip-xs 1111 bnc-brown 9 1705"
[1] "5gram bllip-xs 1111 dundee 9 24551"
[1] "5gram bllip-xs 1111 natural-stories 9 3073"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 9 1703"
[1] "gpt2 bllip-lg 1587139950 dundee 9 24553"
[1] "gpt2 bllip-lg 1587139950 natural-stories 9 3094"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 9 1693"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 9 24591"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 9 3107"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 9 1676"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 9 24487"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 9 3051"
[1] "gpt2 bllip-md 1586986276 bnc-brown 9 1684"
[1] "gpt2 bllip-md 1586986276 dundee 9 24520"
[1] "gpt2 bllip-md 1586986276 natural-stories 9 3085"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 9 24544"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 9 3095"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 9 1707"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 9 24600"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 9 3109"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 9 1702"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 9 24602"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 9 1669"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 9 24570"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 9 3108"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 9 1717"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 9 24558"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 9 3105"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 9 1675"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 9 24565"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 9 3089"
[1] "rnng bllip-lg 7245 bnc-brown 9 1715"
[1] "rnng bllip-lg 7245 dundee 9 24556"
[1] "rnng bllip-lg 7245 natural-stories 9 3120"
[1] "rnng bllip-md 3602 bnc-brown 9 1705"
[1] "rnng bllip-md 3602 dundee 9 24477"

|==============================================                                                    | 47% ~2 s remaining     [1] "rnng bllip-md 3602 natural-stories 9 3108"
[1] "rnng bllip-md 44862 bnc-brown 9 1700"

|================================================                                                  | 49% ~2 s remaining     [1] "rnng bllip-md 44862 dundee 9 24602"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 9 3075"
[1] "rnng bllip-sm 7877 bnc-brown 9 1702"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 9 24606"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 9 3119"
[1] "rnng bllip-sm 64924 bnc-brown 9 1699"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 9 24605"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 9 3104"
[1] "rnng bllip-xs 4301 bnc-brown 9 1684"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 9 24563"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 9 3086"
[1] "rnng bllip-xs 28066 bnc-brown 9 1722"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 9 24560"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 9 3095"
[1] "rnng bllip-xs 28068 bnc-brown 9 1704"

|===============================================================                                   | 65% ~1 s remaining     [1] "rnng bllip-xs 28068 dundee 9 24568"

|================================================================                                  | 66% ~1 s remaining     [1] "rnng bllip-xs 28068 natural-stories 9 3094"
[1] "rnng bllip-xs 51272 bnc-brown 9 1679"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 9 24555"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 9 3099"
[1] "vanilla bllip-lg 111 bnc-brown 9 1708"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 9 24528"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 9 3065"
[1] "vanilla bllip-md 120 bnc-brown 9 1688"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 9 24562"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 9 3076"
[1] "vanilla bllip-md 607 bnc-brown 9 1671"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 9 1689"
[1] "vanilla bllip-md 922 dundee 9 24552"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 9 3083"
[1] "vanilla bllip-sm 111 bnc-brown 9 1679"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 9 24494"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 9 3096"
[1] "vanilla bllip-sm 120 bnc-brown 9 1683"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 9 24461"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 9 3078"
[1] "vanilla bllip-sm 922 bnc-brown 9 1705"

|======================================================================================            | 88% ~1 s remaining     [1] "vanilla bllip-sm 922 dundee 9 24524"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 9 3106"
[1] "vanilla bllip-xs 111 bnc-brown 9 1695"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 9 24478"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 9 3088"
[1] "vanilla bllip-xs 120 bnc-brown 9 1731"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 9 24504"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 9 3072"
[1] "vanilla bllip-xs 922 bnc-brown 9 1687"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 9 24535"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 9 3088"
[1] "5gram bllip-lg 1111 bnc-brown 9 1733"
[1] "5gram bllip-lg 1111 dundee 9 24517"
[1] "5gram bllip-lg 1111 natural-stories 9 3099"
[1] "5gram bllip-md 1111 bnc-brown 9 1704"
[1] "5gram bllip-md 1111 dundee 9 24622"
[1] "5gram bllip-md 1111 natural-stories 9 3118"
[1] "5gram bllip-sm 1111 bnc-brown 9 1694"
[1] "5gram bllip-sm 1111 dundee 9 24482"
[1] "5gram bllip-sm 1111 natural-stories 9 3083"
[1] "5gram bllip-xs 1111 bnc-brown 9 1705"
[1] "5gram bllip-xs 1111 dundee 9 24551"
[1] "5gram bllip-xs 1111 natural-stories 9 3073"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 9 1703"
[1] "gpt2 bllip-lg 1587139950 dundee 9 24553"
[1] "gpt2 bllip-lg 1587139950 natural-stories 9 3094"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 9 1693"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 9 24591"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 9 3107"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 9 1676"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 9 24487"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 9 3051"
[1] "gpt2 bllip-md 1586986276 bnc-brown 9 1684"
[1] "gpt2 bllip-md 1586986276 dundee 9 24520"
[1] "gpt2 bllip-md 1586986276 natural-stories 9 3085"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 9 24544"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 9 3095"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 9 1707"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 9 24600"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 9 3109"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 9 1702"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 9 24602"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 9 1669"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 9 24570"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 9 3108"

|===================================                                                               | 36% ~4 s remaining     [1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 9 1717"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 9 24558"

|=====================================                                                             | 38% ~4 s remaining     [1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 9 3105"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 9 1675"

|=======================================                                                           | 40% ~3 s remaining     [1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 9 24565"

|========================================                                                          | 41% ~3 s remaining     [1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 9 3089"
[1] "rnng bllip-lg 7245 bnc-brown 9 1715"

|==========================================                                                        | 43% ~3 s remaining     [1] "rnng bllip-lg 7245 dundee 9 24556"

|===========================================                                                       | 44% ~3 s remaining     [1] "rnng bllip-lg 7245 natural-stories 9 3120"
[1] "rnng bllip-md 3602 bnc-brown 9 1705"

|=============================================                                                     | 46% ~3 s remaining     [1] "rnng bllip-md 3602 dundee 9 24477"

|==============================================                                                    | 47% ~3 s remaining     [1] "rnng bllip-md 3602 natural-stories 9 3108"
[1] "rnng bllip-md 44862 bnc-brown 9 1700"

|================================================                                                  | 49% ~3 s remaining     [1] "rnng bllip-md 44862 dundee 9 24602"

|=================================================                                                 | 51% ~3 s remaining     [1] "rnng bllip-md 44862 natural-stories 9 3075"
[1] "rnng bllip-sm 7877 bnc-brown 9 1702"

|===================================================                                               | 53% ~3 s remaining     [1] "rnng bllip-sm 7877 dundee 9 24606"

|====================================================                                              | 54% ~3 s remaining     [1] "rnng bllip-sm 7877 natural-stories 9 3119"
[1] "rnng bllip-sm 64924 bnc-brown 9 1699"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 9 24605"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 9 3104"
[1] "rnng bllip-xs 4301 bnc-brown 9 1684"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 9 24563"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 9 3086"
[1] "rnng bllip-xs 28066 bnc-brown 9 1722"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 9 24560"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 9 3095"
[1] "rnng bllip-xs 28068 bnc-brown 9 1704"

|===============================================================                                   | 65% ~2 s remaining     [1] "rnng bllip-xs 28068 dundee 9 24568"

|================================================================                                  | 66% ~2 s remaining     [1] "rnng bllip-xs 28068 natural-stories 9 3094"
[1] "rnng bllip-xs 51272 bnc-brown 9 1679"

|===================================================================                               | 68% ~2 s remaining     [1] "rnng bllip-xs 51272 dundee 9 24555"

|====================================================================                              | 69% ~2 s remaining     [1] "rnng bllip-xs 51272 natural-stories 9 3099"
[1] "vanilla bllip-lg 111 bnc-brown 9 1708"

|======================================================================                            | 72% ~2 s remaining     [1] "vanilla bllip-lg 111 dundee 9 24528"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 9 3065"
[1] "vanilla bllip-md 120 bnc-brown 9 1688"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 9 24562"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 9 3076"
[1] "vanilla bllip-md 607 bnc-brown 9 1671"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 9 1689"
[1] "vanilla bllip-md 922 dundee 9 24552"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 9 3083"
[1] "vanilla bllip-sm 111 bnc-brown 9 1679"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 9 24494"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 9 3096"
[1] "vanilla bllip-sm 120 bnc-brown 9 1683"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 9 24461"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 9 3078"
[1] "vanilla bllip-sm 922 bnc-brown 9 1705"

|======================================================================================            | 88% ~1 s remaining     [1] "vanilla bllip-sm 922 dundee 9 24524"

|=======================================================================================           | 89% ~1 s remaining     [1] "vanilla bllip-sm 922 natural-stories 9 3106"
[1] "vanilla bllip-xs 111 bnc-brown 9 1695"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 9 24478"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 9 3088"
[1] "vanilla bllip-xs 120 bnc-brown 9 1731"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 9 24504"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 9 3072"

|==============================================================================================    | 97% ~0 s remaining     [1] "vanilla bllip-xs 922 bnc-brown 9 1687"
[1] "vanilla bllip-xs 922 dundee 9 24535"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 9 3088"
[1] "5gram bllip-lg 1111 bnc-brown 10 1684"
[1] "5gram bllip-lg 1111 dundee 10 24595"
[1] "5gram bllip-lg 1111 natural-stories 10 3087"
[1] "5gram bllip-md 1111 bnc-brown 10 1693"
[1] "5gram bllip-md 1111 dundee 10 24581"
[1] "5gram bllip-md 1111 natural-stories 10 3088"
[1] "5gram bllip-sm 1111 bnc-brown 10 1698"
[1] "5gram bllip-sm 1111 dundee 10 24560"
[1] "5gram bllip-sm 1111 natural-stories 10 3113"
[1] "5gram bllip-xs 1111 bnc-brown 10 1667"
[1] "5gram bllip-xs 1111 dundee 10 24572"
[1] "5gram bllip-xs 1111 natural-stories 10 3086"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 10 1706"
[1] "gpt2 bllip-lg 1587139950 dundee 10 24637"
[1] "gpt2 bllip-lg 1587139950 natural-stories 10 3111"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 10 1678"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 10 24545"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 10 3110"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 10 1689"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 10 24568"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 10 3105"
[1] "gpt2 bllip-md 1586986276 bnc-brown 10 1708"
[1] "gpt2 bllip-md 1586986276 dundee 10 24510"
[1] "gpt2 bllip-md 1586986276 natural-stories 10 3092"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 10 24521"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 10 3125"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 10 1707"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 10 24575"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 10 3093"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 10 1698"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 10 24583"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 10 1687"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 10 24499"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 10 3100"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 10 1689"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 10 24521"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 10 3112"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 10 1697"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 10 24441"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 10 3107"
[1] "rnng bllip-lg 7245 bnc-brown 10 1691"
[1] "rnng bllip-lg 7245 dundee 10 24528"
[1] "rnng bllip-lg 7245 natural-stories 10 3125"
[1] "rnng bllip-md 3602 bnc-brown 10 1679"
[1] "rnng bllip-md 3602 dundee 10 24549"
[1] "rnng bllip-md 3602 natural-stories 10 3107"

|===============================================                                                   | 48% ~2 s remaining     [1] "rnng bllip-md 44862 bnc-brown 10 1679"
[1] "rnng bllip-md 44862 dundee 10 24584"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 10 3105"
[1] "rnng bllip-sm 7877 bnc-brown 10 1691"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 10 24542"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 10 3068"
[1] "rnng bllip-sm 64924 bnc-brown 10 1718"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 10 24667"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 10 3108"
[1] "rnng bllip-xs 4301 bnc-brown 10 1705"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 10 24527"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 10 3041"
[1] "rnng bllip-xs 28066 bnc-brown 10 1658"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 10 24524"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 10 3110"
[1] "rnng bllip-xs 28068 bnc-brown 10 1682"

|===============================================================                                   | 65% ~1 s remaining     [1] "rnng bllip-xs 28068 dundee 10 24511"

|================================================================                                  | 66% ~1 s remaining     [1] "rnng bllip-xs 28068 natural-stories 10 3124"
[1] "rnng bllip-xs 51272 bnc-brown 10 1718"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 10 24521"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 10 3096"
[1] "vanilla bllip-lg 111 bnc-brown 10 1679"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 10 24426"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 10 3139"
[1] "vanilla bllip-md 120 bnc-brown 10 1704"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 10 24514"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 10 3106"
[1] "vanilla bllip-md 607 bnc-brown 10 1700"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 10 1705"
[1] "vanilla bllip-md 922 dundee 10 24589"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 10 3082"
[1] "vanilla bllip-sm 111 bnc-brown 10 1705"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 10 24564"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 10 3113"
[1] "vanilla bllip-sm 120 bnc-brown 10 1704"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 10 24556"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 10 3069"
[1] "vanilla bllip-sm 922 bnc-brown 10 1709"

|======================================================================================            | 88% ~0 s remaining     [1] "vanilla bllip-sm 922 dundee 10 24458"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 10 3103"
[1] "vanilla bllip-xs 111 bnc-brown 10 1672"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 10 24516"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 10 3150"
[1] "vanilla bllip-xs 120 bnc-brown 10 1686"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 10 24545"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 10 3118"
[1] "vanilla bllip-xs 922 bnc-brown 10 1683"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 10 24513"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 10 3064"
[1] "5gram bllip-lg 1111 bnc-brown 10 1684"
[1] "5gram bllip-lg 1111 dundee 10 24595"
[1] "5gram bllip-lg 1111 natural-stories 10 3087"
[1] "5gram bllip-md 1111 bnc-brown 10 1693"
[1] "5gram bllip-md 1111 dundee 10 24581"
[1] "5gram bllip-md 1111 natural-stories 10 3088"
[1] "5gram bllip-sm 1111 bnc-brown 10 1698"
[1] "5gram bllip-sm 1111 dundee 10 24560"
[1] "5gram bllip-sm 1111 natural-stories 10 3113"
[1] "5gram bllip-xs 1111 bnc-brown 10 1667"
[1] "5gram bllip-xs 1111 dundee 10 24572"
[1] "5gram bllip-xs 1111 natural-stories 10 3086"
[1] "gpt2 bllip-lg 1587139950 bnc-brown 10 1706"
[1] "gpt2 bllip-lg 1587139950 dundee 10 24637"
[1] "gpt2 bllip-lg 1587139950 natural-stories 10 3111"
[1] "gpt2 bllip-lg-gptbpe 1581955288 bnc-brown 10 1678"
[1] "gpt2 bllip-lg-gptbpe 1581955288 dundee 10 24545"
[1] "gpt2 bllip-lg-gptbpe 1581955288 natural-stories 10 3110"
[1] "gpt2 bllip-lg-gptbpe 1611265210 bnc-brown 10 1689"
[1] "gpt2 bllip-lg-gptbpe 1611265210 dundee 10 24568"
[1] "gpt2 bllip-lg-gptbpe 1611265210 natural-stories 10 3105"
[1] "gpt2 bllip-md 1586986276 bnc-brown 10 1708"
[1] "gpt2 bllip-md 1586986276 dundee 10 24510"
[1] "gpt2 bllip-md 1586986276 natural-stories 10 3092"
[1] "gpt2 bllip-md-gptbpe 1111 dundee 10 24521"
[1] "gpt2 bllip-md-gptbpe 1111 natural-stories 10 3125"
[1] "gpt2 bllip-md-gptbpe 1581861474 bnc-brown 10 1707"
[1] "gpt2 bllip-md-gptbpe 1581861474 dundee 10 24575"
[1] "gpt2 bllip-md-gptbpe 1581861474 natural-stories 10 3093"
[1] "gpt2 bllip-md-gptbpe 1582126320 bnc-brown 10 1698"
[1] "gpt2 bllip-md-gptbpe 1582126320 dundee 10 24583"
[1] "gpt2 bllip-md-gptbpe 1611262494 bnc-brown 10 1687"
[1] "gpt2 bllip-md-gptbpe 1611262494 dundee 10 24499"
[1] "gpt2 bllip-md-gptbpe 1611262494 natural-stories 10 3100"
[1] "gpt2 bllip-sm-gptbpe 1581807578 bnc-brown 10 1689"
[1] "gpt2 bllip-sm-gptbpe 1581807578 dundee 10 24521"
[1] "gpt2 bllip-sm-gptbpe 1581807578 natural-stories 10 3112"
[1] "gpt2 bllip-xs-gptbpe 1581807512 bnc-brown 10 1697"
[1] "gpt2 bllip-xs-gptbpe 1581807512 dundee 10 24441"
[1] "gpt2 bllip-xs-gptbpe 1581807512 natural-stories 10 3107"
[1] "rnng bllip-lg 7245 bnc-brown 10 1691"
[1] "rnng bllip-lg 7245 dundee 10 24528"
[1] "rnng bllip-lg 7245 natural-stories 10 3125"

|============================================                                                      | 45% ~2 s remaining     [1] "rnng bllip-md 3602 bnc-brown 10 1679"
[1] "rnng bllip-md 3602 dundee 10 24549"

|==============================================                                                    | 47% ~2 s remaining     [1] "rnng bllip-md 3602 natural-stories 10 3107"
[1] "rnng bllip-md 44862 bnc-brown 10 1679"

|================================================                                                  | 49% ~2 s remaining     [1] "rnng bllip-md 44862 dundee 10 24584"

|=================================================                                                 | 51% ~2 s remaining     [1] "rnng bllip-md 44862 natural-stories 10 3105"
[1] "rnng bllip-sm 7877 bnc-brown 10 1691"

|===================================================                                               | 53% ~2 s remaining     [1] "rnng bllip-sm 7877 dundee 10 24542"

|====================================================                                              | 54% ~2 s remaining     [1] "rnng bllip-sm 7877 natural-stories 10 3068"
[1] "rnng bllip-sm 64924 bnc-brown 10 1718"

|======================================================                                            | 56% ~2 s remaining     [1] "rnng bllip-sm 64924 dundee 10 24667"

|=======================================================                                           | 57% ~2 s remaining     [1] "rnng bllip-sm 64924 natural-stories 10 3108"
[1] "rnng bllip-xs 4301 bnc-brown 10 1705"

|=========================================================                                         | 59% ~2 s remaining     [1] "rnng bllip-xs 4301 dundee 10 24527"

|==========================================================                                        | 60% ~2 s remaining     [1] "rnng bllip-xs 4301 natural-stories 10 3041"
[1] "rnng bllip-xs 28066 bnc-brown 10 1658"

|============================================================                                      | 62% ~2 s remaining     [1] "rnng bllip-xs 28066 dundee 10 24524"

|=============================================================                                     | 63% ~2 s remaining     [1] "rnng bllip-xs 28066 natural-stories 10 3110"
[1] "rnng bllip-xs 28068 bnc-brown 10 1682"

|===============================================================                                   | 65% ~2 s remaining     [1] "rnng bllip-xs 28068 dundee 10 24511"

|================================================================                                  | 66% ~2 s remaining     [1] "rnng bllip-xs 28068 natural-stories 10 3124"
[1] "rnng bllip-xs 51272 bnc-brown 10 1718"

|===================================================================                               | 68% ~1 s remaining     [1] "rnng bllip-xs 51272 dundee 10 24521"

|====================================================================                              | 69% ~1 s remaining     [1] "rnng bllip-xs 51272 natural-stories 10 3096"
[1] "vanilla bllip-lg 111 bnc-brown 10 1679"

|======================================================================                            | 72% ~1 s remaining     [1] "vanilla bllip-lg 111 dundee 10 24426"

|=======================================================================                           | 73% ~1 s remaining     [1] "vanilla bllip-lg 111 natural-stories 10 3139"
[1] "vanilla bllip-md 120 bnc-brown 10 1704"

|=========================================================================                         | 75% ~1 s remaining     [1] "vanilla bllip-md 120 dundee 10 24514"

|==========================================================================                        | 76% ~1 s remaining     [1] "vanilla bllip-md 120 natural-stories 10 3106"
[1] "vanilla bllip-md 607 bnc-brown 10 1700"

|============================================================================                      | 78% ~1 s remaining     [1] "vanilla bllip-md 922 bnc-brown 10 1705"
[1] "vanilla bllip-md 922 dundee 10 24589"

|==============================================================================                    | 80% ~1 s remaining     [1] "vanilla bllip-md 922 natural-stories 10 3082"
[1] "vanilla bllip-sm 111 bnc-brown 10 1705"

|================================================================================                  | 82% ~1 s remaining     [1] "vanilla bllip-sm 111 dundee 10 24564"

|=================================================================================                 | 83% ~1 s remaining     [1] "vanilla bllip-sm 111 natural-stories 10 3113"
[1] "vanilla bllip-sm 120 bnc-brown 10 1704"

|===================================================================================               | 85% ~1 s remaining     [1] "vanilla bllip-sm 120 dundee 10 24556"

|====================================================================================              | 86% ~1 s remaining     [1] "vanilla bllip-sm 120 natural-stories 10 3069"
[1] "vanilla bllip-sm 922 bnc-brown 10 1709"

|======================================================================================            | 88% ~1 s remaining     [1] "vanilla bllip-sm 922 dundee 10 24458"

|=======================================================================================           | 89% ~0 s remaining     [1] "vanilla bllip-sm 922 natural-stories 10 3103"
[1] "vanilla bllip-xs 111 bnc-brown 10 1672"

|=========================================================================================         | 92% ~0 s remaining     [1] "vanilla bllip-xs 111 dundee 10 24516"

|==========================================================================================        | 93% ~0 s remaining     [1] "vanilla bllip-xs 111 natural-stories 10 3150"
[1] "vanilla bllip-xs 120 bnc-brown 10 1686"

|============================================================================================      | 95% ~0 s remaining     [1] "vanilla bllip-xs 120 dundee 10 24545"

|=============================================================================================     | 96% ~0 s remaining     [1] "vanilla bllip-xs 120 natural-stories 10 3118"
[1] "vanilla bllip-xs 922 bnc-brown 10 1683"

|===============================================================================================   | 98% ~0 s remaining     [1] "vanilla bllip-xs 922 dundee 10 24513"

|================================================================================================  | 99% ~0 s remaining     [1] "vanilla bllip-xs 922 natural-stories 10 3064"
#write.csv(full_residuals, "../data/analysis_checkpoints/full_residuals.csv")
#write.csv(baseline_residuals, "../data/analysis_checkpoints/baseline_residuals.csv")
model_deltas = log_lik_deltas %>%
  group_by(model, training, seed, corpus) %>% 
  summarise(mean_delta_log_lik = mean(delta_log_lik),
            sem_delta_log_lik = sd(delta_log_lik) / sqrt(length(delta_log_lik)))
`summarise()` has grouped output by 'model', 'training', 'seed'. You can override using the `.groups` argument.
write.csv(full_model_results, "../data/analysis_checkpoints/full_model_result.csv")
write.csv(baseline_results, "../data/analysis_checkpoints/baseline_results.csv")
#full_model_results = read.csv("../data/analysis_checkpoints/ffull_model_results.csv")
#baseline_results = read.csv("../data/analysis_checkpoints/fbaseline_resultsb.csv")
metric <- "ΔLogLik"
#metric <- "-ΔMSE"

# # Select the relevant metric.
model_deltas = model_deltas %>%
    # Retrieve the current test metric
    mutate(delta_test_mean = mean_delta_log_lik,
           delta_test_sem = sem_delta_log_lik) %>%
    # mutate(delta_test_mean = mean_delta_mse,
    #        delta_test_sem = sem_delta_mse)
    
    # Remove the raw metrics.
    select(-mean_delta_log_lik, -sem_delta_log_lik,
           #-mean_delta_mse, -sem_delta_mse
           )
model_deltas
# Sanity check: training on train+test data should yield improved performance over training on just training data. (When evaluating on test data.)
 full_baselines = all_data %>%
   group_by(model, training, seed, corpus) %>%
   summarise(baseline_train_all_test_lik = logLik_test(lm(psychometric ~ len + freq + sent_pos, data=.), semi_join(test_data, ., by=c("training", "model", "seed", "corpus")), semi_join(test_data, ., by=c("training", "model", "seed", "corpus"))$psychometric)) %>%
   ungroup()
Error: Problem with `summarise()` input `baseline_train_all_test_lik`.
x object 'sent_pos' not found
ℹ Input `baseline_train_all_test_lik` is `logLik_test(...)`.
ℹ The error occurred in group 1: model = "5gram", training = "bllip-lg", seed = "1111", corpus = "bnc-brown".
Run `rlang::last_error()` to see where the error occurred.

Load language model data (SyntaxGym, PPL)

language_model_data = read.csv("../data/model_metadata.csv") %>%
  mutate(model = as.character(model),
         model = if_else(model == "gpt-2", "gpt2", model),
         model = as.factor(model)) %>%
  mutate(train_size = case_when(str_starts(training, "bllip-lg") ~ 42,
                                str_starts(training, "bllip-md") ~ 15,
                                str_starts(training, "bllip-sm") ~ 5,
                                str_starts(training, "bllip-xs") ~ 1),
         
         # Training vocabulary usually covaries with the training corpus.
         # But BPE models share a vocabulary across training corpora.
         training_vocab=as.factor(ifelse(str_detect(training, "gptbpe"), "gptbpe", as.character(training))),
         training_source=as.factor(str_replace(as.character(training), "-gptbpe", ""))
         ) %>%
  mutate(seed = as.factor(seed)) %>%
  select(-pid, -test_loss) %>%
  distinct(model, training, seed, .keep_all = TRUE)
table(language_model_data$seed)

         0        111        120        922       1111       3602       4301       7245       7877      28066      28068 
         4          7          6          5          4          1          1          1          1          1          1 
     44862      51272      64924 1581807512 1581807578 1581861474 1581955288 1582126320 1586986276 1587139950 1611262494 
         1          1          1          1          1          2          2          2          1          1          1 
1611265210 
         1 
table(model_deltas$seed)

       111        120        607        922       1111       3602       4301       7245       7877      28066      28068 
         9          9          1          9         14          3          3          3          3          3          3 
     44862      51272      64924 1581807512 1581807578 1581861474 1581955288 1582126320 1586986276 1587139950 1611262494 
         3          3          3          3          3          3          3          2          3          3          3 
1611265210 
         3 
language_model_data

all_data %>% mutate(lb=paste(model,training,seed)) %>% count(lb) %>% arrange(lb)

First join delta-metric data with model auxiliary data.

model_deltas = model_deltas %>%
  merge(language_model_data, by = c("seed", "training", "model"), all=T) %>%
  drop_na()

model_deltas

Also join on the original linear model data, rather than collapsing to delta-metrics. This will support regressions later on that don’t collapse across folds.

Final data preprocessing

# Exclude ordered-neurons from all analyses.
model_deltas <- model_deltas %>%
  filter(model != "ordered-neurons")

# Exclude bad GPT models.
# model_deltas <- model_deltas %>%
#   filter(model != "gpt2" | !(seed %in% c(1581955288, 1581861474, 1582126320)))
# DEV: Exclude the GOOD GPT models as a sanity check -- should get similar results to last time.
model_deltas <- model_deltas %>%
   filter(model != "gpt2" | !(seed %in% c(1611265210, 1611262494)))

Visualizations

The basics

all_data %>% ggplot(aes(x=corpus)) + geom_bar()

print(all_data %>% group_by(corpus) %>% summarise(n=n()))
all_data %>% 
  ggplot(aes(x=freq, color=corpus)) + geom_density()

all_data %>% 
  ggplot(aes(x=len, color=corpus)) + geom_density()

all_data %>% 
  ggplot(aes(x=surprisal, color=corpus)) + geom_density()

Predictive power and SG

model_deltas %>%
  ggplot(aes(x=sg_score, y=delta_test_mean)) +
    geom_errorbar(aes(ymin=delta_test_mean-delta_test_sem, ymax=delta_test_mean+delta_test_sem)) +
    geom_smooth(method="lm", se=T) +
    geom_point(stat="identity", position="dodge", alpha=1, size=3, aes(color=training_vocab, shape=model)) +
    ylab(metric) +
    xlab("Syntax Generalization Score") +
    ggtitle("Syntactic Generalization vs. Predictive Power") +
    scale_color_manual(values = c("bllip-lg"="#440154FF",
                              "bllip-md"="#39568CFF",
                              "bllip-sm"="#1F968BFF",
                              "bllip-xs"="#73D055FF",
                              "gptbpe"="#888888")) +
    facet_grid(~corpus, scales="free") +
    theme(axis.text=element_text(size=14),
          strip.text.x = element_text(size=14),
          legend.text=element_text(size=14),
          axis.title=element_text(size=18),
          legend.position = "bottom")

#ggsave("./cogsci_images/sg_loglik.png",height=5,width=6)

Regression analyses

We control for effects of perplexity by relating the residuals of a performance ~ PPL regression to SG score.

# Prepare a residualized regression for x1 onto y, controlling for the effects of x2.
d_resid = model_deltas %>%
  drop_na() %>%
  
  group_by(corpus) %>%
    # Residualize delta metric w.r.t PPL for each model--training--seed within
    # training vocabulary
    mutate(resid.delta = resid(lm(delta_test_mean ~ training_vocab:test_ppl))) %>%
    # Residualize SG score w.r.t. PPL for each model--training--seed
    # within training vocabulary
    mutate(resid.sg = resid(lm(sg_score ~ training_vocab:test_ppl))) %>%
  ungroup()


# Now plot residual vs SG
d_resid %>%
  ggplot(aes(x=resid.sg, y=resid.delta)) +
    theme_bw() +
    scale_shape_manual(values = c(21, 24, 22, 23)) +
    geom_smooth(method="lm", se=T, alpha=0.3) +
    geom_point(stat="identity", position="dodge", alpha=1, size=5, aes(shape = model, fill=training_source, color = training_vocab, stroke = 1)) +
    ylab(paste("Residual", metric)) +
    xlab("Residual Syntax Generalization Score") +
    ggtitle("Syntactic Generalization vs. Predictive Power") +
    labs(color="training") + 
    scale_color_manual(values = c("bllip-lg"="#440154FF",
                                  "bllip-md"="#39568CFF",
                                  "bllip-sm"="#1F968BFF",
                                  "bllip-xs"="#73D055FF",
                                  "gptbpe"="#f0941f")) +
  scale_fill_manual(values = c("bllip-lg"="#440154FF",
                                  "bllip-md"="#39568CFF",
                                  "bllip-sm"="#1F968BFF",
                                  "bllip-xs"="#73D055FF",
                                  "gptbpe"="#f0941f"), guide=F) +
    facet_grid(.~corpus, scales="free") +
    theme(axis.text=element_text(size=14),
          strip.text.x = element_text(size=14),
          legend.text=element_text(size=14),
          axis.title=element_text(size=18),
          legend.position = "right")
ggsave("../images/cogsci2020/dll_sg.pdf",height=4.5,width=9, device = cairo_pdf)

do_stepwise_regression = function(cur_corpus) {
  regression_data = model_deltas %>%
    filter(corpus == cur_corpus)
  
  print("----------------------")
  print(cur_corpus)
  
  lm1 = lm(delta_test_mean ~ training_vocab:test_ppl, data = regression_data)
  lm2 = lm(delta_test_mean ~ training_vocab:test_ppl + sg_score, data = regression_data)
  print(anova(lm1, lm2))
  summary(lm2)
}
do_stepwise_regression("bnc-brown")
[1] "----------------------"
[1] "bnc-brown"
Analysis of Variance Table

Model 1: delta_test_mean ~ training_vocab:test_ppl
Model 2: delta_test_mean ~ training_vocab:test_ppl + sg_score
  Res.Df        RSS Df  Sum of Sq      F Pr(>F)
1     23 0.00022809                            
2     22 0.00021770  1 1.0386e-05 1.0495 0.3167

Call:
lm(formula = delta_test_mean ~ training_vocab:test_ppl + sg_score, 
    data = regression_data)

Residuals:
       Min         1Q     Median         3Q        Max 
-0.0052345 -0.0017867 -0.0000872  0.0010399  0.0056555 

Coefficients:
                                  Estimate Std. Error t value Pr(>|t|)   
(Intercept)                      1.149e-02  3.472e-03   3.308   0.0032 **
sg_score                         5.111e-03  4.989e-03   1.024   0.3167   
training_vocabbllip-lg:test_ppl  2.594e-05  3.195e-05   0.812   0.4257   
training_vocabbllip-md:test_ppl -3.189e-05  2.661e-05  -1.198   0.2435   
training_vocabbllip-sm:test_ppl -3.960e-05  2.372e-05  -1.669   0.1092   
training_vocabbllip-xs:test_ppl -5.278e-05  1.582e-05  -3.336   0.0030 **
training_vocabgptbpe:test_ppl   -8.638e-06  7.750e-06  -1.114   0.2771   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.003146 on 22 degrees of freedom
Multiple R-squared:  0.6274,    Adjusted R-squared:  0.5258 
F-statistic: 6.174 on 6 and 22 DF,  p-value: 0.0006514
do_stepwise_regression("dundee")
[1] "----------------------"
[1] "dundee"
Analysis of Variance Table

Model 1: delta_test_mean ~ training_vocab:test_ppl
Model 2: delta_test_mean ~ training_vocab:test_ppl + sg_score
  Res.Df        RSS Df  Sum of Sq     F Pr(>F)
1     23 9.5795e-05                           
2     22 9.5552e-05  1 2.4319e-07 0.056 0.8151

Call:
lm(formula = delta_test_mean ~ training_vocab:test_ppl + sg_score, 
    data = regression_data)

Residuals:
      Min        1Q    Median        3Q       Max 
-0.002493 -0.001177 -0.000772  0.001165  0.003892 

Coefficients:
                                  Estimate Std. Error t value Pr(>|t|)   
(Intercept)                      7.261e-03  2.300e-03   3.157  0.00458 **
sg_score                         7.821e-04  3.305e-03   0.237  0.81513   
training_vocabbllip-lg:test_ppl -1.195e-05  2.117e-05  -0.565  0.57802   
training_vocabbllip-md:test_ppl -1.801e-05  1.763e-05  -1.021  0.31819   
training_vocabbllip-sm:test_ppl -2.318e-05  1.571e-05  -1.475  0.15428   
training_vocabbllip-xs:test_ppl -2.310e-05  1.048e-05  -2.204  0.03832 * 
training_vocabgptbpe:test_ppl   -1.869e-06  5.135e-06  -0.364  0.71934   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.002084 on 22 degrees of freedom
Multiple R-squared:   0.32, Adjusted R-squared:  0.1345 
F-statistic: 1.725 on 6 and 22 DF,  p-value: 0.1621
do_stepwise_regression("natural-stories")
[1] "----------------------"
[1] "natural-stories"
Analysis of Variance Table

Model 1: delta_test_mean ~ training_vocab:test_ppl
Model 2: delta_test_mean ~ training_vocab:test_ppl + sg_score
  Res.Df        RSS Df  Sum of Sq      F  Pr(>F)  
1     22 4.3278e-05                               
2     21 3.5156e-05  1 8.1218e-06 4.8515 0.03893 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Call:
lm(formula = delta_test_mean ~ training_vocab:test_ppl + sg_score, 
    data = regression_data)

Residuals:
       Min         1Q     Median         3Q        Max 
-2.307e-03 -6.073e-04  9.885e-05  5.734e-04  2.414e-03 

Coefficients:
                                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)                      1.217e-02  1.433e-03   8.493 3.11e-08 ***
sg_score                        -4.686e-03  2.127e-03  -2.203  0.03893 *  
training_vocabbllip-lg:test_ppl -7.048e-05  1.322e-05  -5.330 2.76e-05 ***
training_vocabbllip-md:test_ppl -6.250e-05  1.105e-05  -5.655 1.30e-05 ***
training_vocabbllip-sm:test_ppl -7.218e-05  9.797e-06  -7.368 3.00e-07 ***
training_vocabbllip-xs:test_ppl -4.166e-05  6.539e-06  -6.371 2.57e-06 ***
training_vocabgptbpe:test_ppl   -9.649e-06  3.188e-06  -3.027  0.00642 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.001294 on 21 degrees of freedom
Multiple R-squared:  0.764, Adjusted R-squared:  0.6966 
F-statistic: 11.33 on 6 and 21 DF,  p-value: 1.151e-05
# The residualized analysis and the stepwise regression analysis
# should yield the same coefficients for the SG score variable.
#
# Below, we compute the slope coefficient for the SG term in the
# residualized analyses.
#
# These coefficients should match those found in the stepwise
# regression for `sg_score` above.
d_resid %>% group_by(corpus) %>%
  group_modify(~tidy(lm(resid.delta ~ training_vocab:test_ppl + resid.sg, data=.))
                 %>% filter(term == "resid.sg")) %>% 
  select(corpus, estimate)

Predictive power and perplexity


model_deltas %>%
  mutate(test_ppl = if_else(test_ppl > 500, 329.9, test_ppl),
         bpe = if_else(training_vocab == "gptbpe", "yes", "no")) %>%
  ggplot(aes(x=test_ppl, y=delta_test_mean, shape = model, ymin=0)) +
    theme_bw() +
    geom_text(aes(x=275, y=0, label = c("//"))) +
    geom_errorbar(aes(ymin=delta_test_mean-delta_test_sem, ymax=delta_test_mean+delta_test_sem, color=training_vocab), alpha=0.4) +
    #geom_smooth(method="lm", se=F) +
    geom_point(stat="identity", position="dodge", alpha=1, size=5, aes(fill=training_source, color = training_vocab, stroke = 1)) +
    ylab("ΔLogLik per token") +
    xlab("Test Perplexity") +
    #coord_cartesian(ylim = c(1, 16)) +
    ggtitle("Test Perplexity vs. Predictive Power") +
    labs(color="training") + 
    scale_color_manual(values = c("bllip-lg"="#440154FF",
                                  "bllip-md"="#39568CFF",
                                  "bllip-sm"="#1F968BFF",
                                  "bllip-xs"="#73D055FF",
                                  "gptbpe"="#f0941f")) +
  scale_fill_manual(values = c("bllip-lg"="#440154FF",
                                  "bllip-md"="#39568CFF",
                                  "bllip-sm"="#1F968BFF",
                                  "bllip-xs"="#73D055FF",
                                  "gptbpe"="#f0941f"), guide=F) +
    scale_shape_manual(values = c(21, 24, 22, 23)) +
    scale_x_continuous(labels=c(0, 50, 100, 150, 200, 250, 500 ,550), breaks=c(0, 50, 100, 150, 200, 250, 300, 350), minor_breaks = NULL) +
    scale_y_continuous(limits = c(0, NA), expand = c(0,0)) +
    facet_wrap(~corpus, scales="free") +
    coord_cartesian(clip="off") +
    theme(axis.text=element_text(size=12),
          strip.text.x = element_text(size=12),
          legend.text=element_text(size=12),
          axis.title=element_text(size=12),
          legend.position = "right")
ggsave("../images/cogsci2020/ppl_loglik.pdf",height=5,width=12, device = cairo_pdf)

Regression: Impact of PPL on Predictive Power

lmd = model_deltas %>%
  mutate(training_vocab=ifelse(str_detect(as.character(training), "gptbpe"),
                               "gptbpe", as.character(training)))
summary(lmer(delta_test_mean ~ training_vocab:test_ppl + (1 | corpus) + (1 | model), data=lmd))
Linear mixed model fit by REML. t-tests use Satterthwaite's method ['lmerModLmerTest']
Formula: delta_test_mean ~ training_vocab:test_ppl + (1 | corpus) + (1 |      model)
   Data: lmd

REML criterion at convergence: -682.7

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-2.8022 -0.4858 -0.0951  0.3660  1.9607 

Random effects:
 Groups   Name        Variance  Std.Dev.
 model    (Intercept) 4.086e-06 0.002021
 corpus   (Intercept) 7.784e-06 0.002790
 Residual             4.278e-06 0.002068
Number of obs: 86, groups:  model, 4; corpus, 3

Fixed effects:
                                  Estimate Std. Error         df t value Pr(>|t|)    
(Intercept)                      1.153e-02  2.197e-03  5.528e+00   5.246 0.002474 ** 
training_vocabbllip-lg:test_ppl -3.474e-05  1.844e-05  3.495e+01  -1.884 0.067883 .  
training_vocabbllip-md:test_ppl -4.727e-05  1.565e-05  3.406e+01  -3.021 0.004752 ** 
training_vocabbllip-sm:test_ppl -5.008e-05  1.375e-05  3.168e+01  -3.642 0.000957 ***
training_vocabbllip-xs:test_ppl -4.046e-05  9.244e-06  3.111e+01  -4.377 0.000126 ***
training_vocabgptbpe:test_ppl   -1.310e-05  2.761e-06  7.778e+01  -4.745  9.3e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Correlation of Fixed Effects:
                  (Intr) trnng_vcbbllp-l:_ trnng_vcbbllp-m:_ trnng_vcbbllp-s:_ trnng_vcbbllp-x:_
trnng_vcbbllp-l:_ -0.448                                                                        
trnng_vcbbllp-m:_ -0.459  0.823                                                                 
trnng_vcbbllp-s:_ -0.460  0.826             0.849                                               
trnng_vcbbllp-x:_ -0.467  0.837             0.862             0.870                             
trnng_vcb:_       -0.226  0.381             0.389             0.361             0.366           

Perplexity vs. SG Score

This is a reproduction of Figure 2 from Hu et al.


model_deltas %>%
  mutate(test_ppl = if_else(test_ppl > 500, 329.9, test_ppl)) %>%
  mutate(train_size = log(train_size)) %>%
  mutate(bpe = if_else(training_vocab == "gptbpe", "yes", "no"),
         bpe = as.factor(bpe)) %>%
  ggplot(aes(x=test_ppl, y=sg_score)) +
    theme_bw() +
    geom_hline(yintercept = 0.28, linetype = "dashed", color="gray") +
    geom_text(aes(x=240, y=0.3), label="random", color="gray") +
    geom_point(stat="identity", position="dodge", alpha=0.3, size=4, aes(shape = model, fill=training_source, color = training_vocab, stroke = 1)) +
    geom_text(aes(x=275, y=0, label = c("//"))) +
    ylab("SG Score") +
    xlab("Test Perplexity") +
    ggtitle("Test PPL vs. SG Score") +
    labs(color="training") + 
    scale_color_manual(values = c("bllip-lg"="#440154FF",
                                  "bllip-md"="#39568CFF",
                                  "bllip-sm"="#1F968BFF",
                                  "bllip-xs"="#73D055FF",
                                  "gptbpe"="#f0941f")) +
    scale_fill_manual(values = c("bllip-lg"="#440154FF",
                                  "bllip-md"="#39568CFF",
                                  "bllip-sm"="#1F968BFF",
                                  "bllip-xs"="#73D055FF",
                                  "gptbpe"="#f0941f"), guide=F) +
    scale_shape_manual(values = c("5gram"=21, vanilla=22, gpt2=24, rnng=23)) +
    scale_x_continuous(labels=c(0, 50, 100, 150, 200, 250, 500 ,550), breaks=c(0, 50, 100, 150, 200, 250, 300, 350), minor_breaks = NULL) +
    scale_y_continuous(limits = c(0, 1), expand = c(0,0)) +
    theme(axis.text=element_text(size=12),
          strip.text.x = element_text(size=12),
          legend.text=element_text(size=8),
          legend.title=element_text(size=8),
          axis.title=element_text(size=14),
          legend.position = "none",
          legend.direction = "horizontal",
          legend.key.width = unit(0.3,"cm"),
          legend.spacing.x = unit(0.1, 'cm'))
ggsave("../images/cogsci2020/ppl_sg.pdf",height=4.5,width=3, device = cairo_pdf)

Smith & Levy reproduction

This redone so that it’s unique for each model

```r
all_data %>%
  ggplot(aes(x=surprisal, color=model)) +
  theme_bw() +
  geom_density() +
  facet_wrap(.~corpus, ncol=1, scales=\free\, strip.position = \right\) +
  coord_cartesian(xlim = c(0, 25)) +
  ggtitle(\Distribution of Surprisal\) +
ggsave(\../images/cogsci2020/surp_corr_marginals.png\,height=5,width=4)

<!-- rnb-source-end -->

<!-- rnb-plot-begin -->

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArwAAAGwCAIAAADE8iHyAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAgAElEQVR4nOydaXwUVfb3T1X1vu+dTnrJHhISCPsaEEEFFAFBUEQRFUFRZx4V9O+44K6jozOCgwwwiooiiCg6yr4ZCEuAsCUh+9ZJurN30nstz4sKIUIIWTp0DPf7Ip+q27dOnbq3U3X61j2/izEMAwgEAoFAIBDXAw+2AwgEAoFAIP4coKABgUAgEAhEh0BBAwKBQCAQiA6BggYEAoFAIBAdAgUNCAQCgUAgOsRNHTT88ssvGIb9+OOPPWfz66+/xjBsz549ATzF1WcJFhUVFXPnztXr9RiGzZgxI7jOXJcANlovaX8EAoG4wfTBoCE1NRW7BEEQSqUyISHhwQcf/Pnnn2ma7prNzMzMFStW5OTkBNbVXn7q6/LUU0/98ssvy5cv37JlywsvvNBmndLS0qeffjohIUEsFiuVyv79+y9cuHD37t032FUEAoFAdB9OsB3oKSZMmHD33XcDQFNTU25u7o4dO77++uuUlJStW7dqtVq2ztSpU91uN4/Hu661zMzM119/fejQobGxse3X7LjNDtLmqQN+lq6xe/fuadOmPffcc9eqkJWVNWrUKJfLNXPmzPnz51MUlZub+7///c/v999222030lXoNY2GQCAQf176bNAwePDgv/71ry27Xq93+fLln3zyyaxZsw4dOsQW4jguEAgCdUaKorxer0gkCqDNaxFYz7uGy+VqbGxUKBTt1Hn77bcbGhq2bdvW+uUFSZLFxcVdO2lLI3ftqKA3GgKBQPyp6YOvJ9qEz+f/61//mjBhwu+//75jxw628Io3036//+2332YH0uVyef/+/Z9++mkAePnll++9914AmDZtGvvW4+GHH4ZL8xW2b9++bNkyi8XC5/M3btzY5ttukiRXrFjB1hkwYMDmzZtbPnrvvfcwDMvLy2tdv1+/fiNHjmzn1Fefpbq6eunSpSaTicfjGY3GJ554oqqqquVT1tVff/31tddeCw8P5/F4sbGxGzZsaL/R2rG5ZMkSsVgMAGvWrGEdO3DgwNUW8vPzMQy78847WxdyOJyoqKiOXP61Gpkt/PHHH//617+GhYVd3aod6ZprdTcA1NbWvvjii0OHDlWr1QKBoF+/fm+//TZJku03FwKBQPR5+uxIQ5ssWbJk//79//vf/yZPnnz1p88///zKlSsfeeSRZ599lqbp/Px8Nrx49NFHuVzuihUr3nnnnVGjRgFASEhIy1FPPfVU//79V61apVAoVCpVYWHh1ZZffPFFj8fz9NNPYxj23//+d+7cuT6fb/78+dd1uP1Tt9DQ0DB69Oi8vLxHHnlkyJAhp06dWrNmze7du9PT01uPBDz11FNDhw5dv349n8//+9///vDDD0dHR48ZM6bNU7dv89lnn50+ffrUqVOnTZv27LPPAkBycvLVRqKjo48ePfrtt98+9NBD173YdriikU+fPg0AS5cunTBhwq+//oph2EcffXR1q7bfNdfqbgAoKCj48ssvZ8+e/fDDD9M0vXPnzpdffrmgoGD9+vXduQoEAoH408P0OX7//XcAeO65567+6OLFiwBw++23s7s///wzAGzbto3dNZlMd999d5s2t2zZAgA///xz68KvvvoKAAYPHkzTdEvhFTbZOmFhYXV1dWxJQ0NDRESEWq12u90Mw7z77rsAkJub29pyXFzciBEj2jn1FWd56aWXAODTTz9tqfDpp58CwPPPP9/ajQkTJrRUcDgcUqn0vvvua/N6O2KzsbERABYvXnwtCwzDZGZmSiQSAEhISFiyZMnatWuzs7NbV7ju5bfZyGxhUlJSSyFN0+zAANuqHemadrrb7Xb7/f7WJY899hiO46WlpW2aQiAQiJuEm+X1BItMJgMAh8PR5qdyufzMmTNnz57tlM2FCxdiGNZ+nSVLlrT84pfJZE888URNTQ0b3ASEbdu2abXaxx9/vKXk8ccf1+v127Zta12t9a9wqVTar1+/3Nzcbtpsn/j4+LNnzz799NMej+ezzz5btGhRv379UlJSOpsM0mYjty7EMGzhwoVXtGr7XdNOdwsEAg6neRDO5/N5PJ7p06fTNH3ixIlOuY1AIBB9jJsraGhoaIBLocPVfPjhhw0NDQMHDoyMjHz00Ud/+OEHiqKuazMiIuK6deLj41vvJiQkAEBBQUGHnO4AhYWFcXFxLc85AOBwOP369SsqKmJarWJqMplaHyWTyWpqarpp87pERER88skn+fn5NTU127dvnzlzZmpq6rRp09xud6eMXF0YGRl59W7rVm2/a9rv7rVr1w4fPlwoFPL5fKFQOG3aNACoq6vruM8IBALR97i5ggb2XXhcXFyb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" />

<!-- rnb-plot-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->



<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuayA9IDEuOTdcblxuIyBGaXQgYSBHQU0gZm9yIGEgYm9vdHN0cmFwIHNhbXBsZS5cbmZpdF9nYW1faW5uZXIgPSBmdW5jdGlvbihib290c3RyYXBfc2FtcGxlLCBrZXkpIHtcbiAgIyBUaGlzIGJvb3RzdHJhcCBzYW1wbGUgbWF5IGhhdmUgcmVwZWF0ZWQgZWxlbWVudHMuIFRoYXQgY2F1c2VzIGEgcHJvYmxlbSBmb3JcbiAgIyBtZ2N2LCB3aGljaCBpbnRlcm5hbGx5IGNyb3NzLXZhbGlkYXRlcyBzb21lIG1vZGVsIHBhcmFtZXRlcnMgLS0gaXQgbWF5XG4gICMgYWxsb2NhdGUgcmVwZWF0ZWQgZWxlbWVudHMgdG8gZGlmZmVyZW50IGZvbGRzIGFuZCB0aHVzIGRvdWJsZS1kaXAuIFdlJ2xsXG4gICMgcHJldmVudCB0aGlzIGJ5IGluc3RlYWQgcHJvdmlkaW5nIHRoZSB3aG9sZSAocHJlLWJvb3RzdHJhcCkgZGF0YXNldCB0byBtZ2N2LFxuICAjIGFuZCB1c2luZyBgd2VpZ2h0c2AgdG8gY29uc3RyYWluIHdoaWNoIGVsZW1lbnRzIGFyZSBzZWVuLCBhbmQgaG93IG1hbnlcbiAgIyB0aW1lcy4gKFJlcGVhdGVkIGVsZW1lbnRzIG9mIHRoZSBzYW1wbGUgbWF5IGdldCBhIHdlaWdodCBvZiAyIG9yIDMgb3IgTixcbiAgIyB3aGljaCBpcyBleGFjdGx5IHdoYXQgd2Ugd2FudC4pXG4gIFxuICAjIHJzcGxpdCRkYXRhIGNvbnRhaW5zIHRoZSBvcmlnaW5hbCBlbnRpcmUgZGF0YXNldC5cbiAgZGYgPSBib290c3RyYXBfc2FtcGxlJGRhdGFcbiAgIyBhcy5pbnRlZ2VyLnJzcGxpdCByZXR1cm5zIHRoZSBpbmRpY2VzIG9mIHRoZSBleGFtcGxlcyB3aGljaCBhcmUgaW4tc2FtcGxlLlxuICAjIGNvbnZlcnQgdGhpcyB0byBhIGNvdW50IHZlY3Rvciwgd2l0aCBkaW1lbnNpb24gTiAodG90YWwgZGF0YXNldCByb3dzKVxuICB3ZWlnaHRzID0gdGFidWxhdGUoYXMuaW50ZWdlcihib290c3RyYXBfc2FtcGxlKSwgbnJvdyhkZikpXG4gIFxuICBpZiAoa2V5JGNvcnB1cyA9PSBcXGR1bmRlZVxcKSB7XG4gICAgIyBSZWFkaW5nIHRpbWUgcmVncmVzc2lvbjogdXNlIGZlYXR1cmVzIG9mIGN1cnJlbnQgYW5kIHByZXZpb3VzIHdvcmRcbiAgICBtID0gZ2FtKHBzeWNob21ldHJpYyB+IHMoc3VycHJpc2FsLCBicyA9ICdjcicsIGsgPSAyMCkgKyBzKHByZXZfc3VycCwgYnMgPSAnY3InLCBrID0gMjApICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlKGZyZXEsIGxlbiwgYnMgPSAnY3InKSArIHRlKHByZXZfZnJlcSwgcHJldl9sZW4sIGJzID0gJ2NyJyksXG4gICAgICAgICAgICBkYXRhID0gZGYsIHdlaWdodHMgPSB3ZWlnaHRzKVxuICAgIFxuICAgIHRlcm1zX3RvX3ByZWRpY3QgPSBjKFxccyhzdXJwcmlzYWwpXFwsIFxccyhwcmV2X3N1cnApXFwpXG4gIH0gZWxzZSB7XG4gICAgIyBTUFJUIHJlZ3Jlc3Npb246IHVzZSBmZWF0dXJlcyBvZiBjdXJyZW50IGFuZCAzIHByZXZpb3VzIHdvcmRzXG4gICAgbSA9IGdhbShwc3ljaG9tZXRyaWMgfiBzKHN1cnByaXNhbCwgYnMgPSAnY3InLCBrID0gMjApICsgcyhwcmV2X3N1cnAsIGJzID0gJ2NyJywgayA9IDIwKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBzKHByZXYyX3N1cnAsIGJzID0gJ2NyJywgayA9IDIwKSArIHMocHJldjNfc3VycCwgYnMgPSAnY3InLCBrID0gMjApICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlKGZyZXEsIGxlbiwgYnMgPSAnY3InKSArIHRlKHByZXZfZnJlcSwgcHJldl9sZW4sIGJzID0gJ2NyJykgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgdGUocHJldjJfZnJlcSwgcHJldjJfbGVuLCBicyA9ICdjcicpICsgdGUocHJldjNfZnJlcSwgcHJldjNfbGVuLCBicyA9ICdjcicpLFxuICAgICAgICAgICAgZGF0YSA9IGRmLCB3ZWlnaHRzID0gd2VpZ2h0cylcbiAgICBcbiAgICB0ZXJtc190b19wcmVkaWN0ID0gYyhcXHMoc3VycHJpc2FsKVxcLCBcXHMocHJldl9zdXJwKVxcLFxuICAgICAgICAgICAgICAgICAgICAgICAgIFxccyhwcmV2Ml9zdXJwKVxcLCBcXHMocHJldjNfc3VycClcXClcbiAgfVxuXG4gICMgUHJvZHVjZSBwc3ljaG9tZXRyaWMgcHJlZGljdGlvbnMgbGluZSB1c2luZyBqdXN0IHRoZSByZWxldmFudCBjb250ZXh0LXNwZWNpZmljIHByZWRpY3RvcnMuXG5cbiAgbmV3ZGF0YSA9IGRhdGEuZnJhbWUoc3VycHJpc2FsPXNlcSgwLDIwLGJ5PTAuMSksXG4gICAgICAgICAgICAgICAgICAgICAgIHByZXZfc3VycD1zZXEoMCwyMCxieT0wLjEpLFxuICAgICAgICAgICAgICAgICAgICAgICBwcmV2Ml9zdXJwPXNlcSgwLDIwLGJ5PTAuMSksXG4gICAgICAgICAgICAgICAgICAgICAgIHByZXYzX3N1cnA9c2VxKDAsMjAsYnk9MC4xKSxcbiAgICAgICAgICAgICAgICAgICAgICAgZnJlcT0wLCBwcmV2X2ZyZXE9MCwgcHJldjJfZnJlcT0wLCBwcmV2M19mcmVxPTAsXG4gICAgICAgICAgICAgICAgICAgICAgIGxlbj0wLCBwcmV2X2xlbj0wLCBwcmV2Ml9sZW49MCwgcHJldjNfbGVuPTApXG4gIFxuICAjIFJldHVybnMgYSBtYXRyaXggTl9zYW1wbGVzICogTl90ZXJtcy5cbiAgcGVyX3Rlcm1fcHJlZGljdGlvbnMgPSBwcmVkaWN0KG0sIG5ld2RhdGE9bmV3ZGF0YSwgdGVybXM9dGVybXNfdG9fcHJlZGljdCwgdHlwZT1cXHRlcm1zXFwpXG4gIFxuICAjIEFkZGl0aXZlIG1vZGVsIC0tIHN1bSBhY3Jvc3MgcHJlZGljdG9yIHJlc3BvbnNlIGNvbnRyaWJ1dGlvbnMgKG1hdHJpeCBjb2x1bW5zKS5cbiAgcHJlZGljdGlvbnMgPSByb3dTdW1zKHBlcl90ZXJtX3ByZWRpY3Rpb25zKVxuICBcbiAgcmV0dXJuKG5ld2RhdGEgJT4lIG11dGF0ZSh5PXByZWRpY3Rpb25zKSlcbn1cblxuIyBGaXQgYSBib290c3RyYXAtcmUtZXN0aW1hdGVkIEdBTSBmb3IgdGhlIGdpdmVuIG1vZGVsLS1jb3JwdXMtLXRyYWluaW5nIGdyb3VwLlxuZml0X2dhbSA9IGZ1bmN0aW9uKGRmLCBrZXksIGFscGhhPTAuMDUpIHtcbiAgIyBCb290c3RyYXAtcmVzYW1wbGUgZGF0YVxuICBib290X21vZGVscyA9IGRmICU+JSBib290c3RyYXBzKHRpbWVzPTUwKSAlPiUgXG4gICAgIyBGaXQgYSBHQU0gYW5kIGdldCBwcmVkaWN0aW9ucyBmb3IgZWFjaCBzYW1wbGVcbiAgICBtdXRhdGUoc21vb3RoZWQ9bWFwKHNwbGl0cywgZml0X2dhbV9pbm5lciwga2V5PWtleSkpXG4gIFxuICAjIEV4dHJhY3QgbWVhbiBhbmQgNSUgYW5kIDk1JSBwZXJjZW50aWxlIHktdmFsdWVzIGZvciBlYWNoIHN1cnByaXNhbCB2YWx1ZVxuICByZXN1bHQgPSBib290X21vZGVscyAlPiUgXG4gICAgdW5uZXN0KHNtb290aGVkKSAlPiUgXG4gICAgc2VsZWN0KHN1cnByaXNhbCwgeSkgJT4lIFxuICAgIGdyb3VwX2J5KHN1cnByaXNhbCkgJT4lIFxuICAgICAgc3VtbWFyaXNlKHlfbG93ZXI9cXVhbnRpbGUoeSwgYWxwaGEgLyAyKSwgXG4gICAgICAgICAgICAgICAgeV91cHBlcj1xdWFudGlsZSh5LCAxIC0gYWxwaGEgLyAyKSxcbiAgICAgICAgICAgICAgICB5PW1lYW4oeSkpICU+JSBcbiAgICB1bmdyb3VwKClcbiAgXG4gIHJldHVybiAocmVzdWx0KVxufVxuXG5zbW9vdGhzID0gYWxsX2RhdGEgJT4lXG4gIG11dGF0ZShcbiAgICB0cmFpbmluZ192b2NhYj1hcy5mYWN0b3IoaWZlbHNlKHN0cl9kZXRlY3QodHJhaW5pbmcsIFxcZ3B0YnBlXFwpLCBcXGdwdGJwZVxcLCBhcy5jaGFyYWN0ZXIodHJhaW5pbmcpKSksXG4gICAgdHJhaW5pbmdfc291cmNlPWFzLmZhY3RvcihzdHJfcmVwbGFjZShhcy5jaGFyYWN0ZXIodHJhaW5pbmcpLCBcXC1ncHRicGVcXCwgXFxcXCkpKSAlPiVcbiAgZ3JvdXBfYnkodHJhaW5pbmdfdm9jYWIsIHRyYWluaW5nX3NvdXJjZSwgbW9kZWwsIGNvcnB1cykgJT4lXG4gICAgZ3JvdXBfbW9kaWZ5KGZpdF9nYW0pICU+JVxuICB1bmdyb3VwKClcbndyaXRlLmNzdihzbW9vdGhzLCBcXC4uL2RhdGEvZ2FtX3Ntb290aHMuY3N2XFwpXG5cblxuYGBgXG5gYGAifQ== -->

```r
```r
k = 1.97

# Fit a GAM for a bootstrap sample.
fit_gam_inner = function(bootstrap_sample, key) {
  # This bootstrap sample may have repeated elements. That causes a problem for
  # mgcv, which internally cross-validates some model parameters -- it may
  # allocate repeated elements to different folds and thus double-dip. We'll
  # prevent this by instead providing the whole (pre-bootstrap) dataset to mgcv,
  # and using `weights` to constrain which elements are seen, and how many
  # times. (Repeated elements of the sample may get a weight of 2 or 3 or N,
  # which is exactly what we want.)
  
  # rsplit$data contains the original entire dataset.
  df = bootstrap_sample$data
  # as.integer.rsplit returns the indices of the examples which are in-sample.
  # convert this to a count vector, with dimension N (total dataset rows)
  weights = tabulate(as.integer(bootstrap_sample), nrow(df))
  
  if (key$corpus == \dundee\) {
    # Reading time regression: use features of current and previous word
    m = gam(psychometric ~ s(surprisal, bs = 'cr', k = 20) + s(prev_surp, bs = 'cr', k = 20) +
                           te(freq, len, bs = 'cr') + te(prev_freq, prev_len, bs = 'cr'),
            data = df, weights = weights)
    
    terms_to_predict = c(\s(surprisal)\, \s(prev_surp)\)
  } else {
    # SPRT regression: use features of current and 3 previous words
    m = gam(psychometric ~ s(surprisal, bs = 'cr', k = 20) + s(prev_surp, bs = 'cr', k = 20) +
                           s(prev2_surp, bs = 'cr', k = 20) + s(prev3_surp, bs = 'cr', k = 20) +
                           te(freq, len, bs = 'cr') + te(prev_freq, prev_len, bs = 'cr') +
                           te(prev2_freq, prev2_len, bs = 'cr') + te(prev3_freq, prev3_len, bs = 'cr'),
            data = df, weights = weights)
    
    terms_to_predict = c(\s(surprisal)\, \s(prev_surp)\,
                         \s(prev2_surp)\, \s(prev3_surp)\)
  }

  # Produce psychometric predictions line using just the relevant context-specific predictors.

  newdata = data.frame(surprisal=seq(0,20,by=0.1),
                       prev_surp=seq(0,20,by=0.1),
                       prev2_surp=seq(0,20,by=0.1),
                       prev3_surp=seq(0,20,by=0.1),
                       freq=0, prev_freq=0, prev2_freq=0, prev3_freq=0,
                       len=0, prev_len=0, prev2_len=0, prev3_len=0)
  
  # Returns a matrix N_samples * N_terms.
  per_term_predictions = predict(m, newdata=newdata, terms=terms_to_predict, type=\terms\)
  
  # Additive model -- sum across predictor response contributions (matrix columns).
  predictions = rowSums(per_term_predictions)
  
  return(newdata %>% mutate(y=predictions))
}

# Fit a bootstrap-re-estimated GAM for the given model--corpus--training group.
fit_gam = function(df, key, alpha=0.05) {
  # Bootstrap-resample data
  boot_models = df %>% bootstraps(times=50) %>% 
    # Fit a GAM and get predictions for each sample
    mutate(smoothed=map(splits, fit_gam_inner, key=key))
  
  # Extract mean and 5% and 95% percentile y-values for each surprisal value
  result = boot_models %>% 
    unnest(smoothed) %>% 
    select(surprisal, y) %>% 
    group_by(surprisal) %>% 
      summarise(y_lower=quantile(y, alpha / 2), 
                y_upper=quantile(y, 1 - alpha / 2),
                y=mean(y)) %>% 
    ungroup()
  
  return (result)
}

smooths = all_data %>%
  mutate(
    training_vocab=as.factor(ifelse(str_detect(training, \gptbpe\), \gptbpe\, as.character(training))),
    training_source=as.factor(str_replace(as.character(training), \-gptbpe\, \\))) %>%
  group_by(training_vocab, training_source, model, corpus) %>%
    group_modify(fit_gam) %>%
  ungroup()
write.csv(smooths, \../data/gam_smooths.csv\)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->


### Plot the GAM model fits


<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxueW1pbiA9IC00MFxueW1heCA9IDEwMFxueG1pbiA9IDBcbnhtYXggPSAyMFxuXG5nZXRfZF9wb2ludHMgPSBmdW5jdGlvbihkZiwgbW9kZWwsIHRyYWluaW5nLCBjb3JwdXMpe1xuICB4ID0gZGVuc2l0eShkZiRzdXJwcmlzYWwpJHhcbiAgeSA9IGRlbnNpdHkoZGYkc3VycHJpc2FsKSR5XG4gIHJldHVybihkYXRhLmZyYW1lKG1vZGVsLCB0cmFpbmluZywgY29ycHVzLCB4LCB5KSlcbn1cblxuIyBHZXQgdGhlIGRlbnNpdHkgcG9pbnRzXG5kZW5zaXR5X2RhdGEgPSBhbGxfZGF0YSAlPiVcbiAgbXV0YXRlKG1vZGVsID0gcmVjb2RlKG1vZGVsLCB2YW5pbGxhPVxcbHN0bVxcKSkgJT4lXG4gIGdyb3VwX2J5KG1vZGVsLCB0cmFpbmluZywgY29ycHVzKSAlPiVcbiAgICBkbyh7Z2V0X2RfcG9pbnRzKC4sIHVuaXF1ZSguJG1vZGVsKSwgdW5pcXVlKC4kdHJhaW5pbmcpLCB1bmlxdWUoLiRjb3JwdXMpKX0pICU+JVxuICB1bmdyb3VwKCkgJT4lXG4gIG11dGF0ZSh0cmFpbmluZ192b2NhYj1hcy5mYWN0b3IoaWZlbHNlKHN0cl9kZXRlY3QodHJhaW5pbmcsIFxcZ3B0YnBlXFwpLCBcXGdwdGJwZVxcLCBhcy5jaGFyYWN0ZXIodHJhaW5pbmcpKSksXG4gICAgICAgICB0cmFpbmluZ19zb3VyY2U9YXMuZmFjdG9yKHN0cl9yZXBsYWNlKGFzLmNoYXJhY3Rlcih0cmFpbmluZyksIFxcLWdwdGJwZVxcLCBcXFxcKSksXG4gICAgICAgICBicGU9dHJhaW5pbmdfdm9jYWIgPT0gXFxncHRicGVcXCwpICU+JSBcbiAgZmlsdGVyKHg+MCwgeDwyMClcblxuc21vb3RocyA9IHJlYWQuY3N2KFxcLi4vZGF0YS9nYW1fc21vb3Rocy5zbDIwMTMuYWxsLmNzdlxcKVxuYGBgXG5gYGAifQ== -->

```r
```r
ymin = -40
ymax = 100
xmin = 0
xmax = 20

get_d_points = function(df, model, training, corpus){
  x = density(df$surprisal)$x
  y = density(df$surprisal)$y
  return(data.frame(model, training, corpus, x, y))
}

# Get the density points
density_data = all_data %>%
  mutate(model = recode(model, vanilla=\lstm\)) %>%
  group_by(model, training, corpus) %>%
    do({get_d_points(., unique(.$model), unique(.$training), unique(.$corpus))}) %>%
  ungroup() %>%
  mutate(training_vocab=as.factor(ifelse(str_detect(training, \gptbpe\), \gptbpe\, as.character(training))),
         training_source=as.factor(str_replace(as.character(training), \-gptbpe\, \\)),
         bpe=training_vocab == \gptbpe\,) %>% 
  filter(x>0, x<20)

smooths = read.csv(\../data/gam_smooths.sl2013.all.csv\)

<!-- rnb-source-end -->

<!-- rnb-output-begin eyJkYXRhIjoiY2Fubm90IG9wZW4gZmlsZSAnLi4vZGF0YS9nYW1fc21vb3Rocy5zbDIwMTMuYWxsLmNzdic6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlFcnJvciBpbiBmaWxlKGZpbGUsIFxccnRcXCkgOiBjYW5ub3Qgb3BlbiB0aGUgY29ubmVjdGlvblxuIn0= -->

cannot open file ‘../data/gam_smooths.sl2013.all.csv’: No such file or directoryError in file(file, ) : cannot open the connection ```

LS0tCnRpdGxlOiAiQ29nU2NpIDIwMjAgQW5hbHlzaXMiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCiMgUGFja2FnZXMgYW5kIHV0aWxpdGllcwoKYGBge3J9CmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KGxtZTQpCmxpYnJhcnkobG1lclRlc3QpCmxpYnJhcnkobG9nZ2luZykKbGlicmFyeShtdnRub3JtKQpsaWJyYXJ5KG1nY3YpCiMgUHJvdmlkZXMgYm9vdHN0cmFwIHJlc2FtcGxpbmcgdG9vbHMKbGlicmFyeShyc2FtcGxlKQpgYGAKCmBgYHtyfQojIENvbXB1dGUgdGhlIGxvZy1saWtlbGlob29kIG9mIGEgbmV3IGRhdGFzZXQgdXNpbmcgYSBmaXQgbG1lNCBtb2RlbC4KbG9nTGlrX3Rlc3QgPC0gZnVuY3Rpb24obG0sIHRlc3RfWCwgdGVzdF95KSB7CiAgcHJlZGljdGlvbnMgPC0gcHJlZGljdChsbSwgdGVzdF9YLCByZS5mb3JtPU5BKQogICMgR2V0IHN0ZC5kZXYuIG9mIHJlc2lkdWFsLCBlc3RpbWF0ZWQgZnJvbSB0cmFpbiBkYXRhCiAgc3RkZXYgPC0gc2lnbWEobG0pCiAgIyBGb3IgZWFjaCBwcmVkaWN0aW9uLS1vYnNlcnZhdGlvbiwgZ2V0IHRoZSBkZW5zaXR5IHAob2JzIHwgTihwcmVkaWN0ZWQsIG1vZGVsX3NpZ21hKSkgYW5kIHJlZHVjZQogIGRlbnNpdHkgPC0gc3VtKGRub3JtKHRlc3RfeSwgcHJlZGljdGlvbnMsIHN0ZGV2LCBsb2c9VFJVRSkpCiAgcmV0dXJuKGRlbnNpdHkpCn0KIyBHZXQgcGVyLXByZWRpY3Rpb24gbG9nLWxpa2VsaWhvb2QKbG9nTGlrX3Rlc3RfcGVyIDwtIGZ1bmN0aW9uKGxtLCB0ZXN0X1gsIHRlc3RfeSkgewogIHByZWRpY3Rpb25zIDwtIHByZWRpY3QobG0sIHRlc3RfWCwgcmUuZm9ybT1OQSkKICAjIEdldCBzdGQuZGV2LiBvZiByZXNpZHVhbCwgZXN0aW1hdGVkIGZyb20gdHJhaW4gZGF0YQogIHN0ZGV2IDwtIHNpZ21hKGxtKQogICMgRm9yIGVhY2ggcHJlZGljdGlvbi0tb2JzZXJ2YXRpb24sIGdldCB0aGUgZGVuc2l0eSBwKG9icyB8IE4ocHJlZGljdGVkLCBtb2RlbF9zaWdtYSkpCiAgZGVuc2l0aWVzIDwtIGRub3JtKHRlc3RfeSwgcHJlZGljdGlvbnMsIHN0ZGV2LCBsb2c9VFJVRSkKICByZXR1cm4oZGVuc2l0aWVzKQp9CiMgQ29tcHV0ZSBNU0Ugb2YgYSBuZXcgZGF0YXNldCB1c2luZyBhIGZpdCBsbWU0IG1vZGVsLgptc2VfdGVzdCA8LSBmdW5jdGlvbihsbSwgdGVzdF9YLCB0ZXN0X3kpIHsKICByZXR1cm4obWVhbigocHJlZGljdChsbSwgdGVzdF9YLCByZS5mb3JtPU5BKSAtIHRlc3RfeSkgXiAyKSkKfQojU2FuaXR5IGNoZWNrcwojbXlsbSA8LSBnYW0ocHN5Y2hvbWV0cmljIH4gIHMoc3VycHJpc2FsLCBicyA9ICJjciIsIGsgPSAyMCkgKyBzKHByZXZfc3VycCwgYnMgPSAiY3IiLCBrID0gMjApICsgdGUoZnJlcSwgbGVuLCBicyA9ICJjciIpICsgdGUocHJldl9mcmVxLCBwcmV2X2xlbiwgYnMgPSAiY3IiKSwgZGF0YT10cmFpbl9kYXRhKQojYyhsb2dMaWsobXlsbSksIGxvZ0xpa190ZXN0KG15bG0sIHRyYWluX2RhdGEsIHRyYWluX2RhdGEkcHN5Y2hvbWV0cmljKSkKI2xvZ0xpa190ZXN0KG15bG0sIHRlc3RfZGF0YSwgdGVzdF9kYXRhJHBzeWNob21ldHJpYykKYGBgCgojIERhdGEgbG9hZGluZyBhbmQgcHJlcHJvY2Vzc2luZwoKYGBge3IgTG9hZCBhbmQgcHJlcHJvY2VzcyBkYXRhfQpkYXRhID0gcmVhZC5jc3YoIi4uL2RhdGEvaGFybW9uaXplZF9yZXN1bHRzLmNzdiIpCgphbGxfZGF0YSA9IGRhdGEgJT4lCiAgbXV0YXRlKHNlZWQgPSBhcy5mYWN0b3Ioc2VlZCkpICU+JQogIGdyb3VwX2J5KGNvcnB1cywgbW9kZWwsIHRyYWluaW5nLCBzZWVkKSAlPiUKICAgIG11dGF0ZShwcmV2X3N1cnAgPSBsYWcoc3VycHJpc2FsKSwKICAgICAgICAgcHJldl9jb2RlID0gbGFnKGNvZGUpLAogICAgICAgICBwcmV2X2xlbiA9IGxhZyhsZW4pLAogICAgICAgICBwcmV2X2ZyZXEgPSBsYWcoZnJlcSksCiAgICAgICAgIHByZXZfc3VycCA9IGxhZyhzdXJwcmlzYWwpLAogICAgICAgICAKICAgICAgICAgcHJldjJfZnJlcSA9IGxhZyhwcmV2X2ZyZXEpLAogICAgICAgICBwcmV2Ml9jb2RlID0gbGFnKHByZXZfY29kZSksCiAgICAgICAgIHByZXYyX2xlbiA9IGxhZyhwcmV2X2xlbiksCiAgICAgICAgIHByZXYyX3N1cnAgPSBsYWcocHJldl9zdXJwKSwKICAgICAgICAgCiAgICAgICAgIHByZXYzX2ZyZXEgPSBsYWcocHJldjJfZnJlcSksCiAgICAgICAgIHByZXYzX2NvZGUgPSBsYWcocHJldjJfY29kZSksCiAgICAgICAgIHByZXYzX2xlbiA9IGxhZyhwcmV2Ml9sZW4pLAogICAgICAgICBwcmV2M19zdXJwID0gbGFnKHByZXYyX3N1cnApLAogICAgICAgICAKICAgICAgICAgcHJldjRfZnJlcSA9IGxhZyhwcmV2M19mcmVxKSwKICAgICAgICAgcHJldjRfY29kZSA9IGxhZyhwcmV2M19jb2RlKSwKICAgICAgICAgcHJldjRfbGVuID0gbGFnKHByZXYzX2xlbiksCiAgICAgICAgIHByZXY0X3N1cnAgPSBsYWcocHJldjNfc3VycCkpICU+JQogIHVuZ3JvdXAoKSAlPiUKICAKICAjIEZpbHRlciBiYWNrIHR3byBmb3IgdGhlIGR1bmRlZSBjb3JwdXMuIEZpbHRlciBiYWNrIDEgZm9yIGFsbCBvdGhlciBjb3Jwb3JhCiAgIyBOQiB0aGlzIGVmZmVjdGl2ZWx5IHJlbW92ZXMgYWxsIHplcm8tc3VycHJpc2FsIHJvd3MsIHNpbmNlIGVhcmx5LXNlbnRlbmNlIHRva2VucyBkb24ndCBoYXZlIGNvbnRpZ3VvdXMgdG9rZW4gaGlzdG9yeQogIGZpbHRlcigoY29ycHVzID09ICJkdW5kZWUiICYgY29kZSA9PSBwcmV2Ml9jb2RlICsgMikgfCAoY29ycHVzICE9ICJkdW5kZWUiICYgY29kZSA9PSBwcmV2NF9jb2RlICsgNCkpICU+JQogIAogIHNlbGVjdCgtcHJldl9jb2RlLCAtcHJldjJfY29kZSwgLXByZXYzX2NvZGUpICU+JQogIGRyb3BfbmEoKQoKYWxsX2RhdGEgPSBhbGxfZGF0YSAlPiUKICBtdXRhdGUoCiAgICBtb2RlbCA9IGFzLmNoYXJhY3Rlcihtb2RlbCksCiAgICBtb2RlbCA9IGlmX2Vsc2UobW9kZWwgPT0gImdwdC0yIiwgImdwdDIiLCBtb2RlbCksCiAgICBtb2RlbCA9IGFzLmZhY3Rvcihtb2RlbCkpCmBgYAoKYGBge3J9Cm1pc3Npbmdfcm93cyA9IGFsbF9kYXRhICU+JSBjb21wbGV0ZShuZXN0aW5nKGNvcnB1cywgY29kZSksIG5lc3RpbmcobW9kZWwsIHRyYWluaW5nLCBzZWVkKSkgJT4lIAogIGdyb3VwX2J5KGNvcnB1cywgY29kZSkgJT4lIAogICAgZmlsdGVyKHN1bShpcy5uYShzdXJwcmlzYWwpKSA+IDApICU+JSAKICB1bmdyb3VwKCkgJT4lIAogIGFudGlfam9pbihhbGxfZGF0YSwgYnk9YygiY29ycHVzIiwgImNvZGUiLCAibW9kZWwiLCAidHJhaW5pbmciLCAic2VlZCIpKQoKbWlzc2luZ19yb3dzICU+JSBnZ3Bsb3QoYWVzKHg9Y29ycHVzLCBmaWxsPWZhY3RvcihwYXN0ZShtb2RlbCx0cmFpbmluZykpKSkgKwpnZW9tX2Jhcihwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSh3aWR0aD0wLjgpKQpwcmludChtaXNzaW5nX3Jvd3MgJT4lIGdyb3VwX2J5KG1vZGVsLCB0cmFpbmluZywgc2VlZCwgY29ycHVzKSAlPiUgc3VtbWFyaXNlKG49bigpKSAlPiUgYXJyYW5nZShkZXNjKG4pKSkKYGBgCgoKYGBge3IgRHJvcCB0b2tlbnMgZm9yIHdoaWNoIGFueSBtb2RlbCBpcyBtaXNzaW5nIHN1cnByaXNhbCBkYXRhLn0KCiMgQ29tcHV0ZSB0aGUgaWRlYWwgbnVtYmVyIG9mIG1vZGVsLS1zZWVkLS10cmFpbmluZyBvYnNlcnZhdGlvbnMgcGVyIHRva2VuLgp0b19kcm9wID0gYWxsX2RhdGEgJT4lCiAgZ3JvdXBfYnkoY29ycHVzLCBjb2RlKSAlPiUgc3VtbWFyaXNlKG4gPSBuKCkpICU+JSB1bmdyb3VwKCkgJT4lCiAgZ3JvdXBfYnkoY29ycHVzKSAlPiUgbXV0YXRlKCBtYXhfbiA9IG1heChuKSkgJT4lIHVuZ3JvdXAoKSAlPiUKICBmaWx0ZXIobWF4X24gIT0gbikgJT4lIAogIHNlbGVjdChjb2RlLCBjb3JwdXMpCgojIEZpbmQgdG9rZW5zIHdoaWNoIGhhdmUgMjggb2JzZXJ2YXRpb25zIGFuZCBjb21wYXJlIG1vZGVsK3RyYWluaW5nIGZyZXFzCmFsbF9kYXRhICU+JSBmaWx0ZXIoY29ycHVzID09ICJibmMtYnJvd24iKSAlPiUgZ3JvdXBfYnkoY29kZSkgJT4lIGZpbHRlcihuKCkgPT0gMjgpCnRlbXB4ID0gYWxsX2RhdGEgJT4lIGZpbHRlcihjb3JwdXMgPT0gImJuYy1icm93biIsIGNvZGUgPT0gMTcxMDMpCnRhYmxlKHBhc3RlKHRlbXB4JG1vZGVsLCB0ZW1weCR0cmFpbmluZykpCgojIFRoaXMgb25lIGlzIG1pc3NpbmcgYSBzZWVkCiN0b19kcm9wICU+JSBmaWx0ZXIoY29ycHVzID09ICJibmMtYnJvd24iKSAlPiUgYXJyYW5nZShjb2RlKQp0ZW1weCA9IGFsbF9kYXRhICU+JSBmaWx0ZXIoY29ycHVzID09ICJibmMtYnJvd24iLCBjb2RlID09IDE3MDE3KQp0YWJsZShwYXN0ZSh0ZW1weCRtb2RlbCwgdGVtcHgkdHJhaW5pbmcpKQoKIyBudm0gc29tZWhvdyBub3QgYSBwcm9ibGVtIGFueW1vcmUgLi4KIyAjIFpvb21pbmcgaW4gb24gdGhlIHByb2JsZW0gLS0gd2h5IGlzIHRoZXJlIG5vIGJsbGlwLWxnIGRhdGEgaGVyZT8KIyBhbGxfZGF0YSAlPiUgZmlsdGVyKGNvcnB1cyA9PSAiZHVuZGVlIiwgbW9kZWwgPT0gInZhbmlsbGEiLCB0cmFpbmluZyA9PSAiYmxsaXAtbGciLCBjb2RlID4gMTA3MjAsIGNvZGUgPCAxMDczMCkKCmxvZ2luZm8ocGFzdGUoIkRyb3BwaW5nIiwgbnJvdyh0b19kcm9wKSwgIm9ic2VydmF0aW9ucyBjb3JyZXNwb25kaW5nIHRvIGNvcnB1cyB0b2tlbnMgd2hpY2ggYXJlIG1pc3Npbmcgb2JzZXJ2YXRpb25zIGZvciBzb21lIG1vZGVsLiIpKQpsb2dpbmZvKHBhc3RlKCJEcm9wcGluZyIsIHRvX2Ryb3AgJT4lIGdyb3VwX2J5KGNvcnB1cywgY29kZSkgJT4lIG5fZ3JvdXBzKCksICJ0b2tlbnMgd2hpY2ggYXJlIG1pc3Npbmcgb2JzZXJ2YXRpb25zIGZvciBzb21lIG1vZGVsLiIpKQoKYWxsX2RhdGEgPSBhbGxfZGF0YSAlPiUgYW50aV9qb2luKHRvX2Ryb3AgJT4lIGdyb3VwX2J5KGNvcnB1cywgY29kZSksIGJ5PWMoImNvcnB1cyIsICJjb2RlIikpCmxvZ2luZm8ocGFzdGUoIkFmdGVyIGRyb3AsIiwgbnJvdyhhbGxfZGF0YSksICJvYnNlcnZhdGlvbnMgKCIsIGFsbF9kYXRhICU+JSBncm91cF9ieShjb3JwdXMsIGNvZGUpICU+JSBuX2dyb3VwcygpLCAiIHRva2VucykgcmVtYWluLiIpKQpgYGAKCmBgYHtyIERyb3AgdG9rZW5zIGZvciB3aGljaCBhbnkgbW9kZWwgaGFzIHplcm8tdmFsdWVkIHN1cnByaXNhbHMufQoKdG9fZHJvcF96ZXJvX3N1cnBzID0gYWxsX2RhdGEgJT4lIGdyb3VwX2J5KGNvcnB1cywgY29kZSkgJT4lIGZpbHRlcihhbnkoc3VycHJpc2FsID09IDApKSAlPiUgdW5ncm91cCgpCmxvZ2luZm8ocGFzdGUoIkRyb3BwaW5nIiwgbnJvdyh0b19kcm9wX3plcm9fc3VycHMpLCAib2JzZXJ2YXRpb25zIGNvcnJlc3BvbmRpbmcgdG8gY29ycHVzIHRva2VucyB3aGljaCBoYXZlIHN1cnByaXNhbCB6ZXJvcyBmb3Igc29tZSBtb2RlbC4iKSkKbG9naW5mbyhwYXN0ZSgiRHJvcHBpbmciLCB0b19kcm9wX3plcm9fc3VycHMgJT4lIGdyb3VwX2J5KGNvcnB1cywgY29kZSkgJT4lIG5fZ3JvdXBzKCksICJ0b2tlbnMgd2hpY2ggaGF2ZSBzdXJwcmlzYWwgemVyb3MgZm9yIHNvbWUgbW9kZWwuIikpCgphbGxfZGF0YSA9IGFsbF9kYXRhICU+JSBhbnRpX2pvaW4odG9fZHJvcF96ZXJvX3N1cnBzICU+JSBncm91cF9ieShjb3JwdXMsIGNvZGUpLCBieT1jKCJjb3JwdXMiLCAiY29kZSIpKQpsb2dpbmZvKHBhc3RlKCJBZnRlciBkcm9wLCIsIG5yb3coYWxsX2RhdGEpLCAib2JzZXJ2YXRpb25zICgiLCBhbGxfZGF0YSAlPiUgZ3JvdXBfYnkoY29ycHVzLCBjb2RlKSAlPiUgbl9ncm91cHMoKSwgIiB0b2tlbnMpIHJlbWFpbi4iKSkKYGBgCgpgYGB7ciBEcm9wIHRva2VucyBmb3Igd2hpY2ggd2UgaGF2ZSB6ZXJvLXZhbHVlZCBwc3ljaG9tZXRyaWMgZGF0YS59Cgp0b19kcm9wX3plcm9fcHN5Y2hzID0gYWxsX2RhdGEgJT4lIGdyb3VwX2J5KGNvcnB1cywgY29kZSkgJT4lIGZpbHRlcihhbnkocHN5Y2hvbWV0cmljID09IDApKSAlPiUgdW5ncm91cCgpCmxvZ2luZm8ocGFzdGUoIkRyb3BwaW5nIiwgbnJvdyh0b19kcm9wX3plcm9fcHN5Y2hzKSwgIm9ic2VydmF0aW9ucyBjb3JyZXNwb25kaW5nIHRvIGNvcnB1cyB0b2tlbnMgd2hpY2ggaGF2ZSBwc3ljaG9tZXRyaWMgemVyb3MgZm9yIHNvbWUgbW9kZWwuIikpCmxvZ2luZm8ocGFzdGUoIkRyb3BwaW5nIiwgdG9fZHJvcF96ZXJvX3BzeWNocyAlPiUgZ3JvdXBfYnkoY29ycHVzLCBjb2RlKSAlPiUgbl9ncm91cHMoKSwgInRva2VucyB3aGljaCBoYXZlIHBzeWNob21ldHJpYyB6ZXJvcyBmb3Igc29tZSBtb2RlbC4iKSkKCmFsbF9kYXRhID0gYWxsX2RhdGEgJT4lIGFudGlfam9pbih0b19kcm9wX3plcm9fcHN5Y2hzICU+JSBncm91cF9ieShjb3JwdXMsIGNvZGUpLCBieT1jKCJjb3JwdXMiLCAiY29kZSIpKQpsb2dpbmZvKHBhc3RlKCJBZnRlciBkcm9wLCIsIG5yb3coYWxsX2RhdGEpLCAib2JzZXJ2YXRpb25zICgiLCBhbGxfZGF0YSAlPiUgZ3JvdXBfYnkoY29ycHVzLCBjb2RlKSAlPiUgbl9ncm91cHMoKSwgIiB0b2tlbnMpIHJlbWFpbi4iKSkKYGBgCiAKIyBUcmFpbiBMaW5lYXIgTW9kZWxzIHdoaWNoIGFyZSB1c2VkIHRvIGFzc2VzcyBEZWx0YSBMb2cgTGlrCiAKYGBge3J9CiMgQ29tcHV0ZSBsaW5lYXIgbW9kZWwgc3RhdHMgZm9yIHRoZSBnaXZlbiB0cmFpbmluZyBkYXRhIHN1YnNldCBhbmQgZnVsbCB0ZXN0IGRhdGEuCiMgQXV0b21hdGljYWxseSBzdWJzZXRzIHRoZSB0ZXN0IGRhdGEgdG8gbWF0Y2ggdGhlIHJlbGV2YW50IGdyb3VwIGZvciB3aGljaCB3ZSBhcmUgdHJhaW5pbmcgYSBsaW5lYXIgbW9kZWwuCmdldF9sbV9kYXRhIDwtIGZ1bmN0aW9uKGRmLCB0ZXN0X2RhdGEsIGZvcm11bGEsIGZvbGQsIHN0b3JlX2VudikgewogICN0aGlzX2xtIDwtIGdhbShmb3JtdWxhLCBkYXRhPWRmKTsKICBwcmludChwYXN0ZSh1bmlxdWUocGFzdGUoZGYkbW9kZWwsIGRmJHRyYWluaW5nLCBkZiRzZWVkLCBkZiRjb3JwdXMpKVsxXSwgZm9sZCwgbnJvdyhkZikpKQogIHRoaXNfbG0gPSBsbShmb3JtdWxhLCBkYXRhPWRmKQogIHRoaXNfdGVzdF9kYXRhIDwtIHNlbWlfam9pbih0ZXN0X2RhdGEsIGRmLCBieT1jKCJ0cmFpbmluZyIsICJtb2RlbCIsICJzZWVkIiwgImNvcnB1cyIpKTsKICAKICAjIFNhdmUgbG0gdG8gdGhlIGdsb2JhbCBlbnYgc28gdGhhdCB3ZSBjYW4gYWNjZXNzIHJlc2lkdWFscyBsYXRlci4KICBsbV9uYW1lID0gcGFzdGUodW5pcXVlKHBhc3RlKGRmJG1vZGVsLCBkZiR0cmFpbmluZywgZGYkc2VlZCwgZGYkY29ycHVzKSlbMV0sIGZvbGQpCiAgYXNzaWduKGxtX25hbWUsIHRoaXNfbG0sIGVudmlyPXN0b3JlX2VudikKICAKICBzdW1tYXJpc2UoZGYsCiAgICAgICAgICAgIGxvZ19saWsgPSBhcy5udW1lcmljKGxvZ0xpayh0aGlzX2xtLCBSRU1MID0gRikpLAogICAgICAgICAgICB0ZXN0X2xpayA9IGxvZ0xpa190ZXN0KHRoaXNfbG0sIHRoaXNfdGVzdF9kYXRhLCB0aGlzX3Rlc3RfZGF0YSRwc3ljaG9tZXRyaWMpLAogICAgICAgICAgICB0ZXN0X21zZSA9IG1zZV90ZXN0KHRoaXNfbG0sIHRoaXNfdGVzdF9kYXRhLCB0aGlzX3Rlc3RfZGF0YSRwc3ljaG9tZXRyaWMpKQp9CiMgRm9yIGEgcHJldmlvdXNseSBmaXR0ZWQgbG0gc3RvcmVkIGluIHN0b3JlX2VudiwgZ2V0IHRoZSByZXNpZHVhbHMgb24gdGVzdCBkYXRhIG9mIHRoZSByZWxldmFudCBkYXRhIHN1YnNldC4KZ2V0X2xtX3Jlc2lkdWFscyA8LSBmdW5jdGlvbihkZiwgZm9sZCwgc3RvcmVfZW52KSB7CiAgIyBSZXRyaWV2ZSB0aGUgcmVsZXZhbnQgbG0uCiAgbG1fbmFtZSA9IHBhc3RlKHVuaXF1ZShwYXN0ZShkZiRtb2RlbCwgZGYkdHJhaW5pbmcsIGRmJHNlZWQsIGRmJGNvcnB1cykpWzFdLCBmb2xkKQogIHRoaXNfbG0gPC0gZ2V0KGxtX25hbWUsIGVudmlyPXN0b3JlX2VudikKICAKICBtdXRhdGUoZGYsCiAgICAgICAgIGxpa2VsaWhvb2QgPSBsb2dMaWtfdGVzdF9wZXIodGhpc19sbSwgZGYsIGRmJHBzeWNob21ldHJpYyksCiAgICAgICAgIHJlc2lkID0gZGYkcHN5Y2hvbWV0cmljIC0gcHJlZGljdCh0aGlzX2xtLCBkZiwgcmUuZm9ybT1OQSkpCn0KIyBDb21wdXRlIHBlci1leGFtcGxlIGRlbHRhLWxvZy1saWtlbGlob29kIGZvciB0aGUgZ2l2ZW4gdGVzdCBmb2xkLgpnZXRfbG1fZGVsdGFfbG9nX2xpayA8LSBmdW5jdGlvbih0ZXN0X2RhdGEsIGZvbGQsIGJhc2VsaW5lX2VudiwgZnVsbF9lbnYpIHsKICBsbV9uYW1lID0gcGFzdGUodW5pcXVlKHBhc3RlKHRlc3RfZGF0YSRtb2RlbCwgdGVzdF9kYXRhJHRyYWluaW5nLCB0ZXN0X2RhdGEkc2VlZCwgdGVzdF9kYXRhJGNvcnB1cykpWzFdLCBmb2xkKQogIGJhc2VsaW5lX2xtIDwtIGdldChsbV9uYW1lLCBlbnZpcj1iYXNlbGluZV9lbnYpCiAgZnVsbF9sbSA8LSBnZXQobG1fbmFtZSwgZW52aXI9ZnVsbF9lbnYpCiAgCiAgZGVsdGFfbG9nX2xpayA9IGxvZ0xpa190ZXN0X3BlcihmdWxsX2xtLCB0ZXN0X2RhdGEsIHRlc3RfZGF0YSRwc3ljaG9tZXRyaWMpIC0gbG9nTGlrX3Rlc3RfcGVyKGJhc2VsaW5lX2xtLCB0ZXN0X2RhdGEsIHRlc3RfZGF0YSRwc3ljaG9tZXRyaWMpCiAgcmV0dXJuKGNiaW5kKHRlc3RfZGF0YSwgZGVsdGFfbG9nX2xpaz1kZWx0YV9sb2dfbGlrKSkKfQojIyMjIwojIERlZmluZSByZWdyZXNzaW9uIGZvcm11bGFlLgoKIyBSZWdyZXNzaW9uIGNvZGUgdG8gZml0IEdBTSBtb2RlbHMuCiNiYXNlbGluZV9ydF9yZWdyZXNzaW9uID0gcHN5Y2hvbWV0cmljIH4gdGUoZnJlcSwgbGVuLCBicyA9ICJjciIpICsgdGUocHJldl9mcmVxLCBwcmV2X2xlbiwgYnMgPSAiY3IiKSArIHRlKHByZXYyX2ZyZXEsIHByZXYyX2xlbiwgYnMgPSAiY3IiKQojYmFzZWxpZV9zcHJ0X3JlZ3Jlc3Npb24gPSBwc3ljaG9tZXRyaWMgfiB0ZShmcmVxLCBsZW4sIGJzID0gImNyIikgKyB0ZShwcmV2X2ZyZXEsIHByZXZfbGVuLCBicyA9ICJjciIpICsgdGUocHJldjJfZnJlcSwgcHJldjJfbGVuLCBicyA9ICJjciIpICsgdGUocHJldjNfZnJlcSwgcHJldjNfbGVuLCBicyA9ICJjciIpICsgdGUocHJldjRfZnJlcSwgcHJldjRfbGVuLCBicyA9ICJjciIpCgojZnVsbF9ydF9yZWdyZXNzaW9uID0gcHN5Y2hvbWV0cmljIH4gcyhzdXJwcmlzYWwsIGJzID0gImNyIiwgayA9IDIwKSArIHMocHJldl9zdXJwLCBicyA9ICJjciIsIGsgPSAyMCkgKyBzKHByZXYyX3N1cnAsIGJzID0gImNyIiwgayA9IDIwKSArIHRlKGZyZXEsIGxlbiwgYnMgPSAiY3IiKSArIHRlKHByZXZfZnJlcSwgcHJldl9sZW4sIGJzID0gImNyIikgKyB0ZShwcmV2Ml9mcmVxLCBwcmV2Ml9sZW4sIGJzID0gImNyIikKI2Z1bGxfc3BydF9yZWdyZXNzaW9uID0gcHN5Y2hvbWV0cmljIH4gcyhzdXJwcmlzYWwsIGJzID0gImNyIiwgayA9IDIwKSArIHMocHJldl9zdXJwLCBicyA9ICJjciIsIGsgPSAyMCkgKyBzKHByZXYyX3N1cnAsIGJzID0gImNyIiwgayA9IDIwKSArIHMocHJldjNfc3VycCwgYnMgPSAiY3IiLCBrID0gMjApICsgcyhwcmV2NF9zdXJwLCBicyA9ICJjciIsIGsgPSAyMCkgKyB0ZShmcmVxLCBsZW4sIGJzID0gImNyIikgKyB0ZShwcmV2X2ZyZXEsIHByZXZfbGVuLCBicyA9ICJjciIpICsgdGUocHJldjJfZnJlcSwgcHJldjJfbGVuLCBicyA9ICJjciIpICsgdGUocHJldjNfZnJlcSwgcHJldjNfbGVuLCBicyA9ICJjciIpICsgdGUocHJldjRfZnJlcSwgcHJldjRfbGVuLCBicyA9ICJjciIpCgojIFJlZ3Jlc3Npb24gQ29kZSB0byBmaXQgbGluZWFyIG1vZGVscwpiYXNlbGluZV9ydF9yZWdyZXNzaW9uID0gcHN5Y2hvbWV0cmljIH4gZnJlcSArIHByZXZfZnJlcSArIHByZXYyX2ZyZXEgKyBsZW4gKyBwcmV2X2xlbiArIHByZXYyX2xlbgpiYXNlbGluZV9zcHJ0X3JlZ3Jlc3Npb24gPSBwc3ljaG9tZXRyaWMgfiBmcmVxICsgcHJldl9mcmVxICsgcHJldjJfZnJlcSArIHByZXYzX2ZyZXEgKyBwcmV2NF9mcmVxICsgbGVuICsgcHJldl9sZW4gKyBwcmV2Ml9sZW4gKyBwcmV2M19sZW4gKyBwcmV2NF9sZW4KCmZ1bGxfc3BydF9yZWdyZXNzaW9uID0gcHN5Y2hvbWV0cmljIH4gc3VycHJpc2FsICsgcHJldl9zdXJwICsgcHJldjJfc3VycCArIHByZXYzX3N1cnAgKyBwcmV2NF9zdXJwICsgZnJlcSArIHByZXZfZnJlcSArIHByZXYyX2ZyZXEgKyBwcmV2M19mcmVxICsgcHJldjRfZnJlcSArIGxlbiArIHByZXZfbGVuICsgcHJldjJfbGVuICsgcHJldjNfbGVuICsgcHJldjRfbGVuCmZ1bGxfcnRfcmVncmVzc2lvbiA9IHBzeWNob21ldHJpYyB+IHN1cnByaXNhbCArIHByZXZfc3VycCArIHByZXYyX3N1cnAgKyBmcmVxICsgcHJldl9mcmVxICsgcHJldjJfZnJlcSArIGxlbiArIHByZXZfbGVuICsgcHJldjJfbGVuCiAgCiMjIyMjCiMgUHJlcGFyZSBmcmFtZXMvZW52aXJvbm1lbnRzIGZvciBzdG9yaW5nIHJlc3VsdHMvb2JqZWN0cy4KYmFzZWxpbmVfcmVzdWx0cyA9IGRhdGEuZnJhbWUoKQpmdWxsX21vZGVsX3Jlc3VsdHMgPSBkYXRhLmZyYW1lKCkKYmFzZWxpbmVfcmVzaWR1YWxzID0gZGF0YS5mcmFtZSgpCmZ1bGxfcmVzaWR1YWxzID0gZGF0YS5mcmFtZSgpCmxvZ19saWtfZGVsdGFzID0gZGF0YS5mcmFtZSgpCgojUmFuZG9tbHkgc2h1ZmZsZSB0aGUgZGF0YQphbGxfZGF0YTwtYWxsX2RhdGFbc2FtcGxlKG5yb3coYWxsX2RhdGEpKSxdCiNDcmVhdGUgSyBlcXVhbGx5IHNpemUgZm9sZHMKSyA9IDEwCmZvbGRzIDwtIGN1dChzZXEoMSxucm93KGFsbF9kYXRhKSksYnJlYWtzPUssbGFiZWxzPUZBTFNFKQojUGVyZm9ybSAxMCBmb2xkIGNyb3NzIHZhbGlkYXRpb24KCiMgRml0IG1vZGVscyBmb3Igc29tZSBmb2xkIG9mIHRoZSBkYXRhLgpiYXNlbGluZV9jb3JwdXMgPSBmdW5jdGlvbihjb3JwdXMsIGRmLCB0ZXN0X2RhdGEsIGZvbGQsIGVudikgewogIGlmKGNvcnB1cyA9PSAiZHVuZGVlIikgewogICAgZ2V0X2xtX2RhdGEoZGYsIHRlc3RfZGF0YSwgYmFzZWxpbmVfcnRfcmVncmVzc2lvbiwgZm9sZCwgZW52KQogIH0gZWxzZSB7CiAgICBnZXRfbG1fZGF0YShkZiwgdGVzdF9kYXRhLCBiYXNlbGluZV9zcHJ0X3JlZ3Jlc3Npb24sIGZvbGQsIGVudikKICB9Cn0KZnVsbF9tb2RlbF9jb3JwdXMgPSBmdW5jdGlvbihjb3JwdXMsIGRmLCB0ZXN0X2RhdGEsIGZvbGQsIGVudikgewogIGlmKGNvcnB1c1sxXSA9PSAiZHVuZGVlIikgewogICAgZ2V0X2xtX2RhdGEoZGYsIHRlc3RfZGF0YSwgZnVsbF9ydF9yZWdyZXNzaW9uLCBmb2xkLCBlbnYpCiAgfSBlbHNlIHsKICAgIGdldF9sbV9kYXRhKGRmLCB0ZXN0X2RhdGEsIGZ1bGxfc3BydF9yZWdyZXNzaW9uLCBmb2xkLCBlbnYpCiAgfQp9CgojIFByZXBhcmUgYSBuZXcgRW52aXJvbm1lbnQgaW4gd2hpY2ggd2Ugc3RvcmUgZml0dGVkIExNcywgd2hpY2ggd2UnbGwgcXVlcnkgbGF0ZXIgZm9yIHJlc2lkdWFscyBhbmQgb3RoZXIgbWV0cmljcy4KYmFzZWxpbmVfZW52ID0gbmV3LmVudigpCmZ1bGxfZW52ID0gbmV3LmVudigpCgpmb3IoaSBpbiAxOkspIHsgCiAgI1NlZ2VtZW50IHlvdXIgZGF0YSBieSBmb2xkIHVzaW5nIHRoZSB3aGljaCgpIGZ1bmN0aW9uIAogIHRlc3RJbmRleGVzIDwtIHdoaWNoKGZvbGRzPT1pLCBhcnIuaW5kPVRSVUUpCiAgdGVzdF9kYXRhIDwtIGFsbF9kYXRhW3Rlc3RJbmRleGVzLCBdCiAgdHJhaW5fZGF0YSA8LSBhbGxfZGF0YVstdGVzdEluZGV4ZXMsIF0KICAKICAjIENvbXB1dGUgYSBiYXNlbGluZSBsaW5lYXIgbW9kZWwgZm9yIGVhY2ggbW9kZWwtLXRyYWluaW5nLS1zZWVkLS1SVC1jb3JwdXMgY29tYmluYXRpb24uCiAgYmFzZWxpbmVzID0gdHJhaW5fZGF0YSAlPiUKICAgIGdyb3VwX2J5KG1vZGVsLCB0cmFpbmluZywgc2VlZCwgY29ycHVzKSAlPiUKICAgICAgcHJpbnQobW9kZWwpICU+JQogICAgICBkbyhiYXNlbGluZV9jb3JwdXModW5pcXVlKC4kY29ycHVzKSwgLiwgdGVzdF9kYXRhLCBpLCBiYXNlbGluZV9lbnYpKSAlPiUKICAgIHVuZ3JvdXAoKSAlPiUKICAgIG11dGF0ZShzZWVkID0gYXMuZmFjdG9yKHNlZWQpLAogICAgICAgICAgIGZvbGQgPSBpKQogIAogIGJhc2VsaW5lX3Jlc3VsdHMgPSByYmluZChiYXNlbGluZV9yZXN1bHRzLCBiYXNlbGluZXMpCiAgCiAgIyBDb21wdXRlIGEgZnVsbCBsaW5lYXIgbW9kZWwgZm9yIGVhY2ggbW9kZWwtLXRyYWluaW5nLS1zZWVkLVJULWNvcnB1cyBjb21iaW5hdGlvbgogIGZ1bGxfbW9kZWxzID0gdHJhaW5fZGF0YSAlPiUKICAgIGdyb3VwX2J5KG1vZGVsLCB0cmFpbmluZywgc2VlZCwgY29ycHVzKSAlPiUKICAgICAgZG8oZnVsbF9tb2RlbF9jb3JwdXModW5pcXVlKC4kY29ycHVzKSwgLiwgdGVzdF9kYXRhLCBpLCBmdWxsX2VudikpICU+JQogICAgdW5ncm91cCgpICU+JQogICAgbXV0YXRlKHNlZWQgPSBhcy5mYWN0b3Ioc2VlZCksCiAgICAgICAgICAgZm9sZCA9IGkpCiAgCiAgZnVsbF9tb2RlbF9yZXN1bHRzID0gcmJpbmQoZnVsbF9tb2RlbF9yZXN1bHRzLCBmdWxsX21vZGVscykKICAKICAjIENvbXB1dGUgZGVsdGEtbG9nLWxpa2VsaWhvb2RzCiAgZm9sZF9sb2dfbGlrX2RlbHRhcyA9IHRlc3RfZGF0YSAlPiUKICAgIGdyb3VwX2J5KG1vZGVsLCB0cmFpbmluZywgc2VlZCwgY29ycHVzKSAlPiUKICAgICAgZG8oZ2V0X2xtX2RlbHRhX2xvZ19saWsoLiwgaSwgYmFzZWxpbmVfZW52LCBmdWxsX2VudikpICU+JQogICAgdW5ncm91cCgpCgogIGxvZ19saWtfZGVsdGFzID0gcmJpbmQobG9nX2xpa19kZWx0YXMsIGZvbGRfbG9nX2xpa19kZWx0YXMpCiAgCiAgZm9sZF9iYXNlbGluZV9yZXNpZHVhbHMgPSB0ZXN0X2RhdGEgJT4lCiAgICBncm91cF9ieShtb2RlbCwgdHJhaW5pbmcsIHNlZWQsIGNvcnB1cykgJT4lCiAgICAgIGRvKGdldF9sbV9yZXNpZHVhbHMoLiwgaSwgYmFzZWxpbmVfZW52KSkgJT4lCiAgICB1bmdyb3VwKCkKCiAgYmFzZWxpbmVfcmVzaWR1YWxzID0gcmJpbmQoYmFzZWxpbmVfcmVzaWR1YWxzLCBmb2xkX2Jhc2VsaW5lX3Jlc2lkdWFscykKCiAgZm9sZF9mdWxsX3Jlc2lkdWFscyA9IHRlc3RfZGF0YSAlPiUKICAgIGdyb3VwX2J5KG1vZGVsLCB0cmFpbmluZywgc2VlZCwgY29ycHVzKSAlPiUKICAgICAgZG8oZ2V0X2xtX3Jlc2lkdWFscyguLCBpLCBmdWxsX2VudikpICU+JQogICAgdW5ncm91cCgpCgogIGZ1bGxfcmVzaWR1YWxzID0gcmJpbmQoZnVsbF9yZXNpZHVhbHMsIGZvbGRfZnVsbF9yZXNpZHVhbHMpCn0KYGBgCgpgYGB7cn0KI3dyaXRlLmNzdihmdWxsX3Jlc2lkdWFscywgIi4uL2RhdGEvYW5hbHlzaXNfY2hlY2twb2ludHMvZnVsbF9yZXNpZHVhbHMuY3N2IikKI3dyaXRlLmNzdihiYXNlbGluZV9yZXNpZHVhbHMsICIuLi9kYXRhL2FuYWx5c2lzX2NoZWNrcG9pbnRzL2Jhc2VsaW5lX3Jlc2lkdWFscy5jc3YiKQpgYGAKCmBgYHtyfQptb2RlbF9kZWx0YXMgPSBsb2dfbGlrX2RlbHRhcyAlPiUKICBncm91cF9ieShtb2RlbCwgdHJhaW5pbmcsIHNlZWQsIGNvcnB1cykgJT4lIAogIHN1bW1hcmlzZShtZWFuX2RlbHRhX2xvZ19saWsgPSBtZWFuKGRlbHRhX2xvZ19saWspLAogICAgICAgICAgICBzZW1fZGVsdGFfbG9nX2xpayA9IHNkKGRlbHRhX2xvZ19saWspIC8gc3FydChsZW5ndGgoZGVsdGFfbG9nX2xpaykpKQpgYGAKCmBgYHtyfQp3cml0ZS5jc3YoZnVsbF9tb2RlbF9yZXN1bHRzLCAiLi4vZGF0YS9hbmFseXNpc19jaGVja3BvaW50cy9mdWxsX21vZGVsX3Jlc3VsdC5jc3YiKQp3cml0ZS5jc3YoYmFzZWxpbmVfcmVzdWx0cywgIi4uL2RhdGEvYW5hbHlzaXNfY2hlY2twb2ludHMvYmFzZWxpbmVfcmVzdWx0cy5jc3YiKQojZnVsbF9tb2RlbF9yZXN1bHRzID0gcmVhZC5jc3YoIi4uL2RhdGEvYW5hbHlzaXNfY2hlY2twb2ludHMvZmZ1bGxfbW9kZWxfcmVzdWx0cy5jc3YiKQojYmFzZWxpbmVfcmVzdWx0cyA9IHJlYWQuY3N2KCIuLi9kYXRhL2FuYWx5c2lzX2NoZWNrcG9pbnRzL2ZiYXNlbGluZV9yZXN1bHRzYi5jc3YiKQpgYGAKCmBgYHtyfQptZXRyaWMgPC0gIs6UTG9nTGlrIgojbWV0cmljIDwtICItzpRNU0UiCgojICMgU2VsZWN0IHRoZSByZWxldmFudCBtZXRyaWMuCm1vZGVsX2RlbHRhcyA9IG1vZGVsX2RlbHRhcyAlPiUKICAgICMgUmV0cmlldmUgdGhlIGN1cnJlbnQgdGVzdCBtZXRyaWMKICAgIG11dGF0ZShkZWx0YV90ZXN0X21lYW4gPSBtZWFuX2RlbHRhX2xvZ19saWssCiAgICAgICAgICAgZGVsdGFfdGVzdF9zZW0gPSBzZW1fZGVsdGFfbG9nX2xpaykgJT4lCiAgICAjIG11dGF0ZShkZWx0YV90ZXN0X21lYW4gPSBtZWFuX2RlbHRhX21zZSwKICAgICMgICAgICAgIGRlbHRhX3Rlc3Rfc2VtID0gc2VtX2RlbHRhX21zZSkKICAgIAogICAgIyBSZW1vdmUgdGhlIHJhdyBtZXRyaWNzLgogICAgc2VsZWN0KC1tZWFuX2RlbHRhX2xvZ19saWssIC1zZW1fZGVsdGFfbG9nX2xpaywKICAgICAgICAgICAjLW1lYW5fZGVsdGFfbXNlLCAtc2VtX2RlbHRhX21zZQogICAgICAgICAgICkKbW9kZWxfZGVsdGFzCmBgYAoKYGBge3IsIGV2YWw9RmFsc2V9CiMgU2FuaXR5IGNoZWNrOiB0cmFpbmluZyBvbiB0cmFpbit0ZXN0IGRhdGEgc2hvdWxkIHlpZWxkIGltcHJvdmVkIHBlcmZvcm1hbmNlIG92ZXIgdHJhaW5pbmcgb24ganVzdCB0cmFpbmluZyBkYXRhLiAoV2hlbiBldmFsdWF0aW5nIG9uIHRlc3QgZGF0YS4pCiBmdWxsX2Jhc2VsaW5lcyA9IGFsbF9kYXRhICU+JQogICBncm91cF9ieShtb2RlbCwgdHJhaW5pbmcsIHNlZWQsIGNvcnB1cykgJT4lCiAgIHN1bW1hcmlzZShiYXNlbGluZV90cmFpbl9hbGxfdGVzdF9saWsgPSBsb2dMaWtfdGVzdChsbShwc3ljaG9tZXRyaWMgfiBsZW4gKyBmcmVxICsgc2VudF9wb3MsIGRhdGE9LiksIHNlbWlfam9pbih0ZXN0X2RhdGEsIC4sIGJ5PWMoInRyYWluaW5nIiwgIm1vZGVsIiwgInNlZWQiLCAiY29ycHVzIikpLCBzZW1pX2pvaW4odGVzdF9kYXRhLCAuLCBieT1jKCJ0cmFpbmluZyIsICJtb2RlbCIsICJzZWVkIiwgImNvcnB1cyIpKSRwc3ljaG9tZXRyaWMpKSAlPiUKICAgdW5ncm91cCgpCiBmdWxsX2Jhc2VsaW5lcwogCiBmdWxsX2Jhc2VsaW5lcyAlPiUKICAgcmlnaHRfam9pbihiYXNlbGluZXMsIGJ5PWMoInNlZWQiLCAidHJhaW5pbmciLCAibW9kZWwiLCAiY29ycHVzIikpICU+JQogICBtdXRhdGUoZGVsdGE9YmFzZWxpbmVfdHJhaW5fYWxsX3Rlc3RfbGlrLWJhc2VsaW5lX3Rlc3RfbGlrKSAlPiUKICAgc2VsZWN0KC1iYXNlbGluZV9saWspICMgJT4lCiAgICNzZWxlY3QoLWJhc2VsaW5lX3Rlc3RfbGlrLCAtYmFzZWxpbmVfdHJhaW5fYWxsX3Rlc3RfbGlrLCAtYmFzZWxpbmVfbGlrLCAtYmFzZWxpbmVfdGVzdF9tc2UpCmBgYAoKIyBMb2FkIGxhbmd1YWdlIG1vZGVsIGRhdGEgKFN5bnRheEd5bSwgUFBMKQoKYGBge3J9Cmxhbmd1YWdlX21vZGVsX2RhdGEgPSByZWFkLmNzdigiLi4vZGF0YS9tb2RlbF9tZXRhZGF0YS5jc3YiKSAlPiUKICBtdXRhdGUobW9kZWwgPSBhcy5jaGFyYWN0ZXIobW9kZWwpLAogICAgICAgICBtb2RlbCA9IGlmX2Vsc2UobW9kZWwgPT0gImdwdC0yIiwgImdwdDIiLCBtb2RlbCksCiAgICAgICAgIG1vZGVsID0gYXMuZmFjdG9yKG1vZGVsKSkgJT4lCiAgbXV0YXRlKHRyYWluX3NpemUgPSBjYXNlX3doZW4oc3RyX3N0YXJ0cyh0cmFpbmluZywgImJsbGlwLWxnIikgfiA0MiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJfc3RhcnRzKHRyYWluaW5nLCAiYmxsaXAtbWQiKSB+IDE1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cl9zdGFydHModHJhaW5pbmcsICJibGxpcC1zbSIpIH4gNSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJfc3RhcnRzKHRyYWluaW5nLCAiYmxsaXAteHMiKSB+IDEpLAogICAgICAgICAKICAgICAgICAgIyBUcmFpbmluZyB2b2NhYnVsYXJ5IHVzdWFsbHkgY292YXJpZXMgd2l0aCB0aGUgdHJhaW5pbmcgY29ycHVzLgogICAgICAgICAjIEJ1dCBCUEUgbW9kZWxzIHNoYXJlIGEgdm9jYWJ1bGFyeSBhY3Jvc3MgdHJhaW5pbmcgY29ycG9yYS4KICAgICAgICAgdHJhaW5pbmdfdm9jYWI9YXMuZmFjdG9yKGlmZWxzZShzdHJfZGV0ZWN0KHRyYWluaW5nLCAiZ3B0YnBlIiksICJncHRicGUiLCBhcy5jaGFyYWN0ZXIodHJhaW5pbmcpKSksCiAgICAgICAgIHRyYWluaW5nX3NvdXJjZT1hcy5mYWN0b3Ioc3RyX3JlcGxhY2UoYXMuY2hhcmFjdGVyKHRyYWluaW5nKSwgIi1ncHRicGUiLCAiIikpCiAgICAgICAgICkgJT4lCiAgbXV0YXRlKHNlZWQgPSBhcy5mYWN0b3Ioc2VlZCkpICU+JQogIHNlbGVjdCgtcGlkLCAtdGVzdF9sb3NzKSAlPiUKICBkaXN0aW5jdChtb2RlbCwgdHJhaW5pbmcsIHNlZWQsIC5rZWVwX2FsbCA9IFRSVUUpCnRhYmxlKGxhbmd1YWdlX21vZGVsX2RhdGEkc2VlZCkKdGFibGUobW9kZWxfZGVsdGFzJHNlZWQpCgpsYW5ndWFnZV9tb2RlbF9kYXRhCmBgYAoKRmlyc3Qgam9pbiBkZWx0YS1tZXRyaWMgZGF0YSB3aXRoIG1vZGVsIGF1eGlsaWFyeSBkYXRhLgoKYGBge3J9Cm1vZGVsX2RlbHRhcyA9IG1vZGVsX2RlbHRhcyAlPiUKICBtZXJnZShsYW5ndWFnZV9tb2RlbF9kYXRhLCBieSA9IGMoInNlZWQiLCAidHJhaW5pbmciLCAibW9kZWwiKSwgYWxsPVQpICU+JQogIGRyb3BfbmEoKQoKbW9kZWxfZGVsdGFzCmBgYAoKQWxzbyBqb2luIG9uIHRoZSBvcmlnaW5hbCBsaW5lYXIgbW9kZWwgZGF0YSwgcmF0aGVyIHRoYW4gY29sbGFwc2luZyB0byBkZWx0YS1tZXRyaWNzLgpUaGlzIHdpbGwgc3VwcG9ydCByZWdyZXNzaW9ucyBsYXRlciBvbiB0aGF0IGRvbid0IGNvbGxhcHNlIGFjcm9zcyBmb2xkcy4KCgojIEZpbmFsIGRhdGEgcHJlcHJvY2Vzc2luZwoKYGBge3IgRmlsdGVyIG1vZGVscyBhbmQvb3IgY29ycG9yYX0KIyBFeGNsdWRlIG9yZGVyZWQtbmV1cm9ucyBmcm9tIGFsbCBhbmFseXNlcy4KbW9kZWxfZGVsdGFzIDwtIG1vZGVsX2RlbHRhcyAlPiUKICBmaWx0ZXIobW9kZWwgIT0gIm9yZGVyZWQtbmV1cm9ucyIpCgojIEV4Y2x1ZGUgYmFkIEdQVCBtb2RlbHMuCiMgbW9kZWxfZGVsdGFzIDwtIG1vZGVsX2RlbHRhcyAlPiUKIyAgIGZpbHRlcihtb2RlbCAhPSAiZ3B0MiIgfCAhKHNlZWQgJWluJSBjKDE1ODE5NTUyODgsIDE1ODE4NjE0NzQsIDE1ODIxMjYzMjApKSkKIyBERVY6IEV4Y2x1ZGUgdGhlIEdPT0QgR1BUIG1vZGVscyBhcyBhIHNhbml0eSBjaGVjayAtLSBzaG91bGQgZ2V0IHNpbWlsYXIgcmVzdWx0cyB0byBsYXN0IHRpbWUuCm1vZGVsX2RlbHRhcyA8LSBtb2RlbF9kZWx0YXMgJT4lCiAgIGZpbHRlcihtb2RlbCAhPSAiZ3B0MiIgfCAhKHNlZWQgJWluJSBjKDE2MTEyNjUyMTAsIDE2MTEyNjI0OTQpKSkKYGBgCgoKIyBWaXN1YWxpemF0aW9ucwoKIyMgVGhlIGJhc2ljcwoKYGBge3IsIGZpZy5jYXA9IkNvcnB1cyBzaXplcyJ9CmFsbF9kYXRhICU+JSBnZ3Bsb3QoYWVzKHg9Y29ycHVzKSkgKyBnZW9tX2JhcigpCnByaW50KGFsbF9kYXRhICU+JSBncm91cF9ieShjb3JwdXMpICU+JSBzdW1tYXJpc2Uobj1uKCkpKQpgYGAKCgpgYGB7ciwgZmlnLmNhcD0iV29yZCBmcmVxdWVuY3kgZGlzdHJpYnV0aW9uIGJ5IGNvcnB1cyJ9CmFsbF9kYXRhICU+JSAKICBnZ3Bsb3QoYWVzKHg9ZnJlcSwgY29sb3I9Y29ycHVzKSkgKyBnZW9tX2RlbnNpdHkoKQpgYGAKCmBgYHtyLCBmaWcuY2FwPSJXb3JkIGxlbmd0aCBkaXN0cmlidXRpb24gYnkgY29ycHVzIn0KYWxsX2RhdGEgJT4lIAogIGdncGxvdChhZXMoeD1sZW4sIGNvbG9yPWNvcnB1cykpICsgZ2VvbV9kZW5zaXR5KCkKYGBgCgpgYGB7ciwgZmlnLmNhcD0iU3VycHJpc2FsIGRpc3RyaWJ1dGlvbiBieSBjb3JwdXMifQphbGxfZGF0YSAlPiUgCiAgZ2dwbG90KGFlcyh4PXN1cnByaXNhbCwgY29sb3I9Y29ycHVzKSkgKyBnZW9tX2RlbnNpdHkoKQpgYGAKCiMjIFByZWRpY3RpdmUgcG93ZXIgYW5kIFNHCgoKYGBge3IgQnkgbW9kZWx9Cm1vZGVsX2RlbHRhcyAlPiUKICBnZ3Bsb3QoYWVzKHg9c2dfc2NvcmUsIHk9ZGVsdGFfdGVzdF9tZWFuKSkgKwogICAgZ2VvbV9lcnJvcmJhcihhZXMoeW1pbj1kZWx0YV90ZXN0X21lYW4tZGVsdGFfdGVzdF9zZW0sIHltYXg9ZGVsdGFfdGVzdF9tZWFuK2RlbHRhX3Rlc3Rfc2VtKSkgKwogICAgZ2VvbV9zbW9vdGgobWV0aG9kPSJsbSIsIHNlPVQpICsKICAgIGdlb21fcG9pbnQoc3RhdD0iaWRlbnRpdHkiLCBwb3NpdGlvbj0iZG9kZ2UiLCBhbHBoYT0xLCBzaXplPTMsIGFlcyhjb2xvcj10cmFpbmluZ192b2NhYiwgc2hhcGU9bW9kZWwpKSArCiAgICB5bGFiKG1ldHJpYykgKwogICAgeGxhYigiU3ludGF4IEdlbmVyYWxpemF0aW9uIFNjb3JlIikgKwogICAgZ2d0aXRsZSgiU3ludGFjdGljIEdlbmVyYWxpemF0aW9uIHZzLiBQcmVkaWN0aXZlIFBvd2VyIikgKwogICAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcyA9IGMoImJsbGlwLWxnIj0iIzQ0MDE1NEZGIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJsbGlwLW1kIj0iIzM5NTY4Q0ZGIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJsbGlwLXNtIj0iIzFGOTY4QkZGIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJsbGlwLXhzIj0iIzczRDA1NUZGIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdwdGJwZSI9IiM4ODg4ODgiKSkgKwogICAgZmFjZXRfZ3JpZCh+Y29ycHVzLCBzY2FsZXM9ImZyZWUiKSArCiAgICB0aGVtZShheGlzLnRleHQ9ZWxlbWVudF90ZXh0KHNpemU9MTQpLAogICAgICAgICAgc3RyaXAudGV4dC54ID0gZWxlbWVudF90ZXh0KHNpemU9MTQpLAogICAgICAgICAgbGVnZW5kLnRleHQ9ZWxlbWVudF90ZXh0KHNpemU9MTQpLAogICAgICAgICAgYXhpcy50aXRsZT1lbGVtZW50X3RleHQoc2l6ZT0xOCksCiAgICAgICAgICBsZWdlbmQucG9zaXRpb24gPSAiYm90dG9tIikKI2dnc2F2ZSgiLi9jb2dzY2lfaW1hZ2VzL3NnX2xvZ2xpay5wbmciLGhlaWdodD01LHdpZHRoPTYpCmBgYAoKIyMjIFJlZ3Jlc3Npb24gYW5hbHlzZXMKCldlIGNvbnRyb2wgZm9yIGVmZmVjdHMgb2YgcGVycGxleGl0eSBieSByZWxhdGluZyB0aGUgcmVzaWR1YWxzIG9mIGEgYHBlcmZvcm1hbmNlIH4gUFBMYCByZWdyZXNzaW9uIHRvIFNHIHNjb3JlLgoKYGBge3IgUmVzaWR1YWxpemVkIHJlZ3Jlc3Npb259CiMgUHJlcGFyZSBhIHJlc2lkdWFsaXplZCByZWdyZXNzaW9uIGZvciB4MSBvbnRvIHksIGNvbnRyb2xsaW5nIGZvciB0aGUgZWZmZWN0cyBvZiB4Mi4KZF9yZXNpZCA9IG1vZGVsX2RlbHRhcyAlPiUKICBkcm9wX25hKCkgJT4lCiAgCiAgZ3JvdXBfYnkoY29ycHVzKSAlPiUKICAgICMgUmVzaWR1YWxpemUgZGVsdGEgbWV0cmljIHcuci50IFBQTCBmb3IgZWFjaCBtb2RlbC0tdHJhaW5pbmctLXNlZWQgd2l0aGluCiAgICAjIHRyYWluaW5nIHZvY2FidWxhcnkKICAgIG11dGF0ZShyZXNpZC5kZWx0YSA9IHJlc2lkKGxtKGRlbHRhX3Rlc3RfbWVhbiB+IHRyYWluaW5nX3ZvY2FiOnRlc3RfcHBsKSkpICU+JQogICAgIyBSZXNpZHVhbGl6ZSBTRyBzY29yZSB3LnIudC4gUFBMIGZvciBlYWNoIG1vZGVsLS10cmFpbmluZy0tc2VlZAogICAgIyB3aXRoaW4gdHJhaW5pbmcgdm9jYWJ1bGFyeQogICAgbXV0YXRlKHJlc2lkLnNnID0gcmVzaWQobG0oc2dfc2NvcmUgfiB0cmFpbmluZ192b2NhYjp0ZXN0X3BwbCkpKSAlPiUKICB1bmdyb3VwKCkKCgojIE5vdyBwbG90IHJlc2lkdWFsIHZzIFNHCmRfcmVzaWQgJT4lCiAgZ2dwbG90KGFlcyh4PXJlc2lkLnNnLCB5PXJlc2lkLmRlbHRhKSkgKwogICAgdGhlbWVfYncoKSArCiAgICBzY2FsZV9zaGFwZV9tYW51YWwodmFsdWVzID0gYygyMSwgMjQsIDIyLCAyMykpICsKICAgIGdlb21fc21vb3RoKG1ldGhvZD0ibG0iLCBzZT1ULCBhbHBoYT0wLjMpICsKICAgIGdlb21fcG9pbnQoc3RhdD0iaWRlbnRpdHkiLCBwb3NpdGlvbj0iZG9kZ2UiLCBhbHBoYT0xLCBzaXplPTUsIGFlcyhzaGFwZSA9IG1vZGVsLCBmaWxsPXRyYWluaW5nX3NvdXJjZSwgY29sb3IgPSB0cmFpbmluZ192b2NhYiwgc3Ryb2tlID0gMSkpICsKICAgIHlsYWIocGFzdGUoIlJlc2lkdWFsIiwgbWV0cmljKSkgKwogICAgeGxhYigiUmVzaWR1YWwgU3ludGF4IEdlbmVyYWxpemF0aW9uIFNjb3JlIikgKwogICAgZ2d0aXRsZSgiU3ludGFjdGljIEdlbmVyYWxpemF0aW9uIHZzLiBQcmVkaWN0aXZlIFBvd2VyIikgKwogICAgbGFicyhjb2xvcj0idHJhaW5pbmciKSArIAogICAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcyA9IGMoImJsbGlwLWxnIj0iIzQ0MDE1NEZGIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJibGxpcC1tZCI9IiMzOTU2OENGRiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmxsaXAtc20iPSIjMUY5NjhCRkYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJsbGlwLXhzIj0iIzczRDA1NUZGIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncHRicGUiPSIjZjA5NDFmIikpICsKICBzY2FsZV9maWxsX21hbnVhbCh2YWx1ZXMgPSBjKCJibGxpcC1sZyI9IiM0NDAxNTRGRiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmxsaXAtbWQiPSIjMzk1NjhDRkYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJsbGlwLXNtIj0iIzFGOTY4QkZGIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJibGxpcC14cyI9IiM3M0QwNTVGRiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3B0YnBlIj0iI2YwOTQxZiIpLCBndWlkZT1GKSArCiAgICBmYWNldF9ncmlkKC5+Y29ycHVzLCBzY2FsZXM9ImZyZWUiKSArCiAgICB0aGVtZShheGlzLnRleHQ9ZWxlbWVudF90ZXh0KHNpemU9MTQpLAogICAgICAgICAgc3RyaXAudGV4dC54ID0gZWxlbWVudF90ZXh0KHNpemU9MTQpLAogICAgICAgICAgbGVnZW5kLnRleHQ9ZWxlbWVudF90ZXh0KHNpemU9MTQpLAogICAgICAgICAgYXhpcy50aXRsZT1lbGVtZW50X3RleHQoc2l6ZT0xOCksCiAgICAgICAgICBsZWdlbmQucG9zaXRpb24gPSAicmlnaHQiKQpnZ3NhdmUoIi4uL2ltYWdlcy9jb2dzY2kyMDIwL2RsbF9zZy5wZGYiLGhlaWdodD00LjUsd2lkdGg9OSwgZGV2aWNlID0gY2Fpcm9fcGRmKQpgYGAKCgpgYGB7ciBTdGVwd2lzZSByZWdyZXNzaW9ufQpkb19zdGVwd2lzZV9yZWdyZXNzaW9uID0gZnVuY3Rpb24oY3VyX2NvcnB1cykgewogIHJlZ3Jlc3Npb25fZGF0YSA9IG1vZGVsX2RlbHRhcyAlPiUKICAgIGZpbHRlcihjb3JwdXMgPT0gY3VyX2NvcnB1cykKICAKICBwcmludCgiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpCiAgcHJpbnQoY3VyX2NvcnB1cykKICAKICBsbTEgPSBsbShkZWx0YV90ZXN0X21lYW4gfiB0cmFpbmluZ192b2NhYjp0ZXN0X3BwbCwgZGF0YSA9IHJlZ3Jlc3Npb25fZGF0YSkKICBsbTIgPSBsbShkZWx0YV90ZXN0X21lYW4gfiB0cmFpbmluZ192b2NhYjp0ZXN0X3BwbCArIHNnX3Njb3JlLCBkYXRhID0gcmVncmVzc2lvbl9kYXRhKQogIHByaW50KGFub3ZhKGxtMSwgbG0yKSkKICBzdW1tYXJ5KGxtMikKfQpkb19zdGVwd2lzZV9yZWdyZXNzaW9uKCJibmMtYnJvd24iKQpkb19zdGVwd2lzZV9yZWdyZXNzaW9uKCJkdW5kZWUiKQpkb19zdGVwd2lzZV9yZWdyZXNzaW9uKCJuYXR1cmFsLXN0b3JpZXMiKQpgYGAKCmBgYHtyIFNhbml0eSBjaGVjazogZXF1aXZhbGVuY2UgYmV0d2VlbiBhbmFseXNlcywgZXZhbD1GYWxzZX0KIyBUaGUgcmVzaWR1YWxpemVkIGFuYWx5c2lzIGFuZCB0aGUgc3RlcHdpc2UgcmVncmVzc2lvbiBhbmFseXNpcwojIHNob3VsZCB5aWVsZCB0aGUgc2FtZSBjb2VmZmljaWVudHMgZm9yIHRoZSBTRyBzY29yZSB2YXJpYWJsZS4KIwojIEJlbG93LCB3ZSBjb21wdXRlIHRoZSBzbG9wZSBjb2VmZmljaWVudCBmb3IgdGhlIFNHIHRlcm0gaW4gdGhlCiMgcmVzaWR1YWxpemVkIGFuYWx5c2VzLgojCiMgVGhlc2UgY29lZmZpY2llbnRzIHNob3VsZCBtYXRjaCB0aG9zZSBmb3VuZCBpbiB0aGUgc3RlcHdpc2UKIyByZWdyZXNzaW9uIGZvciBgc2dfc2NvcmVgIGFib3ZlLgpkX3Jlc2lkICU+JSBncm91cF9ieShjb3JwdXMpICU+JQogIGdyb3VwX21vZGlmeSh+dGlkeShsbShyZXNpZC5kZWx0YSB+IHRyYWluaW5nX3ZvY2FiOnRlc3RfcHBsICsgcmVzaWQuc2csIGRhdGE9LikpCiAgICAgICAgICAgICAgICAgJT4lIGZpbHRlcih0ZXJtID09ICJyZXNpZC5zZyIpKSAlPiUgCiAgc2VsZWN0KGNvcnB1cywgZXN0aW1hdGUpCmBgYAoKIyMgUHJlZGljdGl2ZSBwb3dlciBhbmQgcGVycGxleGl0eQoKYGBge3J9Cgptb2RlbF9kZWx0YXMgJT4lCiAgbXV0YXRlKHRlc3RfcHBsID0gaWZfZWxzZSh0ZXN0X3BwbCA+IDUwMCwgMzI5LjksIHRlc3RfcHBsKSwKICAgICAgICAgYnBlID0gaWZfZWxzZSh0cmFpbmluZ192b2NhYiA9PSAiZ3B0YnBlIiwgInllcyIsICJubyIpKSAlPiUKICBnZ3Bsb3QoYWVzKHg9dGVzdF9wcGwsIHk9ZGVsdGFfdGVzdF9tZWFuLCBzaGFwZSA9IG1vZGVsLCB5bWluPTApKSArCiAgICB0aGVtZV9idygpICsKICAgIGdlb21fdGV4dChhZXMoeD0yNzUsIHk9MCwgbGFiZWwgPSBjKCIvLyIpKSkgKwogICAgZ2VvbV9lcnJvcmJhcihhZXMoeW1pbj1kZWx0YV90ZXN0X21lYW4tZGVsdGFfdGVzdF9zZW0sIHltYXg9ZGVsdGFfdGVzdF9tZWFuK2RlbHRhX3Rlc3Rfc2VtLCBjb2xvcj10cmFpbmluZ192b2NhYiksIGFscGhhPTAuNCkgKwogICAgI2dlb21fc21vb3RoKG1ldGhvZD0ibG0iLCBzZT1GKSArCiAgICBnZW9tX3BvaW50KHN0YXQ9ImlkZW50aXR5IiwgcG9zaXRpb249ImRvZGdlIiwgYWxwaGE9MSwgc2l6ZT01LCBhZXMoZmlsbD10cmFpbmluZ19zb3VyY2UsIGNvbG9yID0gdHJhaW5pbmdfdm9jYWIsIHN0cm9rZSA9IDEpKSArCiAgICB5bGFiKCLOlExvZ0xpayBwZXIgdG9rZW4iKSArCiAgICB4bGFiKCJUZXN0IFBlcnBsZXhpdHkiKSArCiAgICAjY29vcmRfY2FydGVzaWFuKHlsaW0gPSBjKDEsIDE2KSkgKwogICAgZ2d0aXRsZSgiVGVzdCBQZXJwbGV4aXR5IHZzLiBQcmVkaWN0aXZlIFBvd2VyIikgKwogICAgbGFicyhjb2xvcj0idHJhaW5pbmciKSArIAogICAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcyA9IGMoImJsbGlwLWxnIj0iIzQ0MDE1NEZGIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJibGxpcC1tZCI9IiMzOTU2OENGRiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmxsaXAtc20iPSIjMUY5NjhCRkYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJsbGlwLXhzIj0iIzczRDA1NUZGIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncHRicGUiPSIjZjA5NDFmIikpICsKICBzY2FsZV9maWxsX21hbnVhbCh2YWx1ZXMgPSBjKCJibGxpcC1sZyI9IiM0NDAxNTRGRiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmxsaXAtbWQiPSIjMzk1NjhDRkYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJsbGlwLXNtIj0iIzFGOTY4QkZGIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJibGxpcC14cyI9IiM3M0QwNTVGRiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3B0YnBlIj0iI2YwOTQxZiIpLCBndWlkZT1GKSArCiAgICBzY2FsZV9zaGFwZV9tYW51YWwodmFsdWVzID0gYygyMSwgMjQsIDIyLCAyMykpICsKICAgIHNjYWxlX3hfY29udGludW91cyhsYWJlbHM9YygwLCA1MCwgMTAwLCAxNTAsIDIwMCwgMjUwLCA1MDAgLDU1MCksIGJyZWFrcz1jKDAsIDUwLCAxMDAsIDE1MCwgMjAwLCAyNTAsIDMwMCwgMzUwKSwgbWlub3JfYnJlYWtzID0gTlVMTCkgKwogICAgc2NhbGVfeV9jb250aW51b3VzKGxpbWl0cyA9IGMoMCwgTkEpLCBleHBhbmQgPSBjKDAsMCkpICsKICAgIGZhY2V0X3dyYXAofmNvcnB1cywgc2NhbGVzPSJmcmVlIikgKwogICAgY29vcmRfY2FydGVzaWFuKGNsaXA9Im9mZiIpICsKICAgIHRoZW1lKGF4aXMudGV4dD1lbGVtZW50X3RleHQoc2l6ZT0xMiksCiAgICAgICAgICBzdHJpcC50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZT0xMiksCiAgICAgICAgICBsZWdlbmQudGV4dD1lbGVtZW50X3RleHQoc2l6ZT0xMiksCiAgICAgICAgICBheGlzLnRpdGxlPWVsZW1lbnRfdGV4dChzaXplPTEyKSwKICAgICAgICAgIGxlZ2VuZC5wb3NpdGlvbiA9ICJyaWdodCIpCmdnc2F2ZSgiLi4vaW1hZ2VzL2NvZ3NjaTIwMjAvcHBsX2xvZ2xpay5wZGYiLGhlaWdodD01LHdpZHRoPTEyLCBkZXZpY2UgPSBjYWlyb19wZGYpCgpgYGAKCiMjIyBSZWdyZXNzaW9uOiBJbXBhY3Qgb2YgUFBMIG9uIFByZWRpY3RpdmUgUG93ZXIKCmBgYHtyfQpsbWQgPSBtb2RlbF9kZWx0YXMgJT4lCiAgbXV0YXRlKHRyYWluaW5nX3ZvY2FiPWlmZWxzZShzdHJfZGV0ZWN0KGFzLmNoYXJhY3Rlcih0cmFpbmluZyksICJncHRicGUiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncHRicGUiLCBhcy5jaGFyYWN0ZXIodHJhaW5pbmcpKSkKc3VtbWFyeShsbWVyKGRlbHRhX3Rlc3RfbWVhbiB+IHRyYWluaW5nX3ZvY2FiOnRlc3RfcHBsICsgKDEgfCBjb3JwdXMpICsgKDEgfCBtb2RlbCksIGRhdGE9bG1kKSkKYGBgCgojIyBQZXJwbGV4aXR5IHZzLiBTRyBTY29yZQpUaGlzIGlzIGEgcmVwcm9kdWN0aW9uIG9mIEZpZ3VyZSAyIGZyb20gSHUgZXQgYWwuCgpgYGB7ciBQUEwgdnMuIFNHIHNjb3JlfQoKbW9kZWxfZGVsdGFzICU+JQogIG11dGF0ZSh0ZXN0X3BwbCA9IGlmX2Vsc2UodGVzdF9wcGwgPiA1MDAsIDMyOS45LCB0ZXN0X3BwbCkpICU+JQogIG11dGF0ZSh0cmFpbl9zaXplID0gbG9nKHRyYWluX3NpemUpKSAlPiUKICBtdXRhdGUoYnBlID0gaWZfZWxzZSh0cmFpbmluZ192b2NhYiA9PSAiZ3B0YnBlIiwgInllcyIsICJubyIpLAogICAgICAgICBicGUgPSBhcy5mYWN0b3IoYnBlKSkgJT4lCiAgZ2dwbG90KGFlcyh4PXRlc3RfcHBsLCB5PXNnX3Njb3JlKSkgKwogICAgdGhlbWVfYncoKSArCiAgICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSAwLjI4LCBsaW5ldHlwZSA9ICJkYXNoZWQiLCBjb2xvcj0iZ3JheSIpICsKICAgIGdlb21fdGV4dChhZXMoeD0yNDAsIHk9MC4zKSwgbGFiZWw9InJhbmRvbSIsIGNvbG9yPSJncmF5IikgKwogICAgZ2VvbV9wb2ludChzdGF0PSJpZGVudGl0eSIsIHBvc2l0aW9uPSJkb2RnZSIsIGFscGhhPTAuMywgc2l6ZT00LCBhZXMoc2hhcGUgPSBtb2RlbCwgZmlsbD10cmFpbmluZ19zb3VyY2UsIGNvbG9yID0gdHJhaW5pbmdfdm9jYWIsIHN0cm9rZSA9IDEpKSArCiAgICBnZW9tX3RleHQoYWVzKHg9Mjc1LCB5PTAsIGxhYmVsID0gYygiLy8iKSkpICsKICAgIHlsYWIoIlNHIFNjb3JlIikgKwogICAgeGxhYigiVGVzdCBQZXJwbGV4aXR5IikgKwogICAgZ2d0aXRsZSgiVGVzdCBQUEwgdnMuIFNHIFNjb3JlIikgKwogICAgbGFicyhjb2xvcj0idHJhaW5pbmciKSArIAogICAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcyA9IGMoImJsbGlwLWxnIj0iIzQ0MDE1NEZGIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJibGxpcC1tZCI9IiMzOTU2OENGRiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmxsaXAtc20iPSIjMUY5NjhCRkYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJsbGlwLXhzIj0iIzczRDA1NUZGIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncHRicGUiPSIjZjA5NDFmIikpICsKICAgIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IGMoImJsbGlwLWxnIj0iIzQ0MDE1NEZGIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJibGxpcC1tZCI9IiMzOTU2OENGRiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmxsaXAtc20iPSIjMUY5NjhCRkYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJsbGlwLXhzIj0iIzczRDA1NUZGIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncHRicGUiPSIjZjA5NDFmIiksIGd1aWRlPUYpICsKICAgIHNjYWxlX3NoYXBlX21hbnVhbCh2YWx1ZXMgPSBjKCI1Z3JhbSI9MjEsIHZhbmlsbGE9MjIsIGdwdDI9MjQsIHJubmc9MjMpKSArCiAgICBzY2FsZV94X2NvbnRpbnVvdXMobGFiZWxzPWMoMCwgNTAsIDEwMCwgMTUwLCAyMDAsIDI1MCwgNTAwICw1NTApLCBicmVha3M9YygwLCA1MCwgMTAwLCAxNTAsIDIwMCwgMjUwLCAzMDAsIDM1MCksIG1pbm9yX2JyZWFrcyA9IE5VTEwpICsKICAgIHNjYWxlX3lfY29udGludW91cyhsaW1pdHMgPSBjKDAsIDEpLCBleHBhbmQgPSBjKDAsMCkpICsKICAgIHRoZW1lKGF4aXMudGV4dD1lbGVtZW50X3RleHQoc2l6ZT0xMiksCiAgICAgICAgICBzdHJpcC50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZT0xMiksCiAgICAgICAgICBsZWdlbmQudGV4dD1lbGVtZW50X3RleHQoc2l6ZT04KSwKICAgICAgICAgIGxlZ2VuZC50aXRsZT1lbGVtZW50X3RleHQoc2l6ZT04KSwKICAgICAgICAgIGF4aXMudGl0bGU9ZWxlbWVudF90ZXh0KHNpemU9MTQpLAogICAgICAgICAgbGVnZW5kLnBvc2l0aW9uID0gIm5vbmUiLAogICAgICAgICAgbGVnZW5kLmRpcmVjdGlvbiA9ICJob3Jpem9udGFsIiwKICAgICAgICAgIGxlZ2VuZC5rZXkud2lkdGggPSB1bml0KDAuMywiY20iKSwKICAgICAgICAgIGxlZ2VuZC5zcGFjaW5nLnggPSB1bml0KDAuMSwgJ2NtJykpCmdnc2F2ZSgiLi4vaW1hZ2VzL2NvZ3NjaTIwMjAvcHBsX3NnLnBkZiIsaGVpZ2h0PTQuNSx3aWR0aD0zLCBkZXZpY2UgPSBjYWlyb19wZGYpCmBgYAoKCiMjIFNtaXRoICYgTGV2eSByZXByb2R1Y3Rpb24KCiMjIyMgVGhpcyByZWRvbmUgc28gdGhhdCBpdCdzIHVuaXF1ZSBmb3IgZWFjaCBtb2RlbApgYGB7ciwgZXZhbD1GYWxzZX0KYWxsX2RhdGEgJT4lCiAgZ2dwbG90KGFlcyh4PXN1cnByaXNhbCwgY29sb3I9bW9kZWwpKSArCiAgdGhlbWVfYncoKSArCiAgZ2VvbV9kZW5zaXR5KCkgKwogIGZhY2V0X3dyYXAoLn5jb3JwdXMsIG5jb2w9MSwgc2NhbGVzPSJmcmVlIiwgc3RyaXAucG9zaXRpb24gPSAicmlnaHQiKSArCiAgY29vcmRfY2FydGVzaWFuKHhsaW0gPSBjKDAsIDI1KSkgKwogIGdndGl0bGUoIkRpc3RyaWJ1dGlvbiBvZiBTdXJwcmlzYWwiKSArCmdnc2F2ZSgiLi4vaW1hZ2VzL2NvZ3NjaTIwMjAvc3VycF9jb3JyX21hcmdpbmFscy5wbmciLGhlaWdodD01LHdpZHRoPTQpCgpgYGAKCmBgYHtyIEZpdCBHQU1zLCBldmFsPUZhbHNlfQprID0gMS45NwoKIyBGaXQgYSBHQU0gZm9yIGEgYm9vdHN0cmFwIHNhbXBsZS4KZml0X2dhbV9pbm5lciA9IGZ1bmN0aW9uKGJvb3RzdHJhcF9zYW1wbGUsIGtleSkgewogICMgVGhpcyBib290c3RyYXAgc2FtcGxlIG1heSBoYXZlIHJlcGVhdGVkIGVsZW1lbnRzLiBUaGF0IGNhdXNlcyBhIHByb2JsZW0gZm9yCiAgIyBtZ2N2LCB3aGljaCBpbnRlcm5hbGx5IGNyb3NzLXZhbGlkYXRlcyBzb21lIG1vZGVsIHBhcmFtZXRlcnMgLS0gaXQgbWF5CiAgIyBhbGxvY2F0ZSByZXBlYXRlZCBlbGVtZW50cyB0byBkaWZmZXJlbnQgZm9sZHMgYW5kIHRodXMgZG91YmxlLWRpcC4gV2UnbGwKICAjIHByZXZlbnQgdGhpcyBieSBpbnN0ZWFkIHByb3ZpZGluZyB0aGUgd2hvbGUgKHByZS1ib290c3RyYXApIGRhdGFzZXQgdG8gbWdjdiwKICAjIGFuZCB1c2luZyBgd2VpZ2h0c2AgdG8gY29uc3RyYWluIHdoaWNoIGVsZW1lbnRzIGFyZSBzZWVuLCBhbmQgaG93IG1hbnkKICAjIHRpbWVzLiAoUmVwZWF0ZWQgZWxlbWVudHMgb2YgdGhlIHNhbXBsZSBtYXkgZ2V0IGEgd2VpZ2h0IG9mIDIgb3IgMyBvciBOLAogICMgd2hpY2ggaXMgZXhhY3RseSB3aGF0IHdlIHdhbnQuKQogIAogICMgcnNwbGl0JGRhdGEgY29udGFpbnMgdGhlIG9yaWdpbmFsIGVudGlyZSBkYXRhc2V0LgogIGRmID0gYm9vdHN0cmFwX3NhbXBsZSRkYXRhCiAgIyBhcy5pbnRlZ2VyLnJzcGxpdCByZXR1cm5zIHRoZSBpbmRpY2VzIG9mIHRoZSBleGFtcGxlcyB3aGljaCBhcmUgaW4tc2FtcGxlLgogICMgY29udmVydCB0aGlzIHRvIGEgY291bnQgdmVjdG9yLCB3aXRoIGRpbWVuc2lvbiBOICh0b3RhbCBkYXRhc2V0IHJvd3MpCiAgd2VpZ2h0cyA9IHRhYnVsYXRlKGFzLmludGVnZXIoYm9vdHN0cmFwX3NhbXBsZSksIG5yb3coZGYpKQogIAogIGlmIChrZXkkY29ycHVzID09ICJkdW5kZWUiKSB7CiAgICAjIFJlYWRpbmcgdGltZSByZWdyZXNzaW9uOiB1c2UgZmVhdHVyZXMgb2YgY3VycmVudCBhbmQgcHJldmlvdXMgd29yZAogICAgbSA9IGdhbShwc3ljaG9tZXRyaWMgfiBzKHN1cnByaXNhbCwgYnMgPSAnY3InLCBrID0gMjApICsgcyhwcmV2X3N1cnAsIGJzID0gJ2NyJywgayA9IDIwKSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlKGZyZXEsIGxlbiwgYnMgPSAnY3InKSArIHRlKHByZXZfZnJlcSwgcHJldl9sZW4sIGJzID0gJ2NyJyksCiAgICAgICAgICAgIGRhdGEgPSBkZiwgd2VpZ2h0cyA9IHdlaWdodHMpCiAgICAKICAgIHRlcm1zX3RvX3ByZWRpY3QgPSBjKCJzKHN1cnByaXNhbCkiLCAicyhwcmV2X3N1cnApIikKICB9IGVsc2UgewogICAgIyBTUFJUIHJlZ3Jlc3Npb246IHVzZSBmZWF0dXJlcyBvZiBjdXJyZW50IGFuZCAzIHByZXZpb3VzIHdvcmRzCiAgICBtID0gZ2FtKHBzeWNob21ldHJpYyB+IHMoc3VycHJpc2FsLCBicyA9ICdjcicsIGsgPSAyMCkgKyBzKHByZXZfc3VycCwgYnMgPSAnY3InLCBrID0gMjApICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgcyhwcmV2Ml9zdXJwLCBicyA9ICdjcicsIGsgPSAyMCkgKyBzKHByZXYzX3N1cnAsIGJzID0gJ2NyJywgayA9IDIwKSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlKGZyZXEsIGxlbiwgYnMgPSAnY3InKSArIHRlKHByZXZfZnJlcSwgcHJldl9sZW4sIGJzID0gJ2NyJykgKwogICAgICAgICAgICAgICAgICAgICAgICAgICB0ZShwcmV2Ml9mcmVxLCBwcmV2Ml9sZW4sIGJzID0gJ2NyJykgKyB0ZShwcmV2M19mcmVxLCBwcmV2M19sZW4sIGJzID0gJ2NyJyksCiAgICAgICAgICAgIGRhdGEgPSBkZiwgd2VpZ2h0cyA9IHdlaWdodHMpCiAgICAKICAgIHRlcm1zX3RvX3ByZWRpY3QgPSBjKCJzKHN1cnByaXNhbCkiLCAicyhwcmV2X3N1cnApIiwKICAgICAgICAgICAgICAgICAgICAgICAgICJzKHByZXYyX3N1cnApIiwgInMocHJldjNfc3VycCkiKQogIH0KCiAgIyBQcm9kdWNlIHBzeWNob21ldHJpYyBwcmVkaWN0aW9ucyBsaW5lIHVzaW5nIGp1c3QgdGhlIHJlbGV2YW50IGNvbnRleHQtc3BlY2lmaWMgcHJlZGljdG9ycy4KCiAgbmV3ZGF0YSA9IGRhdGEuZnJhbWUoc3VycHJpc2FsPXNlcSgwLDIwLGJ5PTAuMSksCiAgICAgICAgICAgICAgICAgICAgICAgcHJldl9zdXJwPXNlcSgwLDIwLGJ5PTAuMSksCiAgICAgICAgICAgICAgICAgICAgICAgcHJldjJfc3VycD1zZXEoMCwyMCxieT0wLjEpLAogICAgICAgICAgICAgICAgICAgICAgIHByZXYzX3N1cnA9c2VxKDAsMjAsYnk9MC4xKSwKICAgICAgICAgICAgICAgICAgICAgICBmcmVxPTAsIHByZXZfZnJlcT0wLCBwcmV2Ml9mcmVxPTAsIHByZXYzX2ZyZXE9MCwKICAgICAgICAgICAgICAgICAgICAgICBsZW49MCwgcHJldl9sZW49MCwgcHJldjJfbGVuPTAsIHByZXYzX2xlbj0wKQogIAogICMgUmV0dXJucyBhIG1hdHJpeCBOX3NhbXBsZXMgKiBOX3Rlcm1zLgogIHBlcl90ZXJtX3ByZWRpY3Rpb25zID0gcHJlZGljdChtLCBuZXdkYXRhPW5ld2RhdGEsIHRlcm1zPXRlcm1zX3RvX3ByZWRpY3QsIHR5cGU9InRlcm1zIikKICAKICAjIEFkZGl0aXZlIG1vZGVsIC0tIHN1bSBhY3Jvc3MgcHJlZGljdG9yIHJlc3BvbnNlIGNvbnRyaWJ1dGlvbnMgKG1hdHJpeCBjb2x1bW5zKS4KICBwcmVkaWN0aW9ucyA9IHJvd1N1bXMocGVyX3Rlcm1fcHJlZGljdGlvbnMpCiAgCiAgcmV0dXJuKG5ld2RhdGEgJT4lIG11dGF0ZSh5PXByZWRpY3Rpb25zKSkKfQoKIyBGaXQgYSBib290c3RyYXAtcmUtZXN0aW1hdGVkIEdBTSBmb3IgdGhlIGdpdmVuIG1vZGVsLS1jb3JwdXMtLXRyYWluaW5nIGdyb3VwLgpmaXRfZ2FtID0gZnVuY3Rpb24oZGYsIGtleSwgYWxwaGE9MC4wNSkgewogICMgQm9vdHN0cmFwLXJlc2FtcGxlIGRhdGEKICBib290X21vZGVscyA9IGRmICU+JSBib290c3RyYXBzKHRpbWVzPTUwKSAlPiUgCiAgICAjIEZpdCBhIEdBTSBhbmQgZ2V0IHByZWRpY3Rpb25zIGZvciBlYWNoIHNhbXBsZQogICAgbXV0YXRlKHNtb290aGVkPW1hcChzcGxpdHMsIGZpdF9nYW1faW5uZXIsIGtleT1rZXkpKQogIAogICMgRXh0cmFjdCBtZWFuIGFuZCA1JSBhbmQgOTUlIHBlcmNlbnRpbGUgeS12YWx1ZXMgZm9yIGVhY2ggc3VycHJpc2FsIHZhbHVlCiAgcmVzdWx0ID0gYm9vdF9tb2RlbHMgJT4lIAogICAgdW5uZXN0KHNtb290aGVkKSAlPiUgCiAgICBzZWxlY3Qoc3VycHJpc2FsLCB5KSAlPiUgCiAgICBncm91cF9ieShzdXJwcmlzYWwpICU+JSAKICAgICAgc3VtbWFyaXNlKHlfbG93ZXI9cXVhbnRpbGUoeSwgYWxwaGEgLyAyKSwgCiAgICAgICAgICAgICAgICB5X3VwcGVyPXF1YW50aWxlKHksIDEgLSBhbHBoYSAvIDIpLAogICAgICAgICAgICAgICAgeT1tZWFuKHkpKSAlPiUgCiAgICB1bmdyb3VwKCkKICAKICByZXR1cm4gKHJlc3VsdCkKfQoKc21vb3RocyA9IGFsbF9kYXRhICU+JQogIG11dGF0ZSgKICAgIHRyYWluaW5nX3ZvY2FiPWFzLmZhY3RvcihpZmVsc2Uoc3RyX2RldGVjdCh0cmFpbmluZywgImdwdGJwZSIpLCAiZ3B0YnBlIiwgYXMuY2hhcmFjdGVyKHRyYWluaW5nKSkpLAogICAgdHJhaW5pbmdfc291cmNlPWFzLmZhY3RvcihzdHJfcmVwbGFjZShhcy5jaGFyYWN0ZXIodHJhaW5pbmcpLCAiLWdwdGJwZSIsICIiKSkpICU+JQogIGdyb3VwX2J5KHRyYWluaW5nX3ZvY2FiLCB0cmFpbmluZ19zb3VyY2UsIG1vZGVsLCBjb3JwdXMpICU+JQogICAgZ3JvdXBfbW9kaWZ5KGZpdF9nYW0pICU+JQogIHVuZ3JvdXAoKQp3cml0ZS5jc3Yoc21vb3RocywgIi4uL2RhdGEvZ2FtX3Ntb290aHMuY3N2IikKCgpgYGAKCiMjIyBQbG90IHRoZSBHQU0gbW9kZWwgZml0cwoKYGBge3J9CnltaW4gPSAtNDAKeW1heCA9IDEwMAp4bWluID0gMAp4bWF4ID0gMjAKCmdldF9kX3BvaW50cyA9IGZ1bmN0aW9uKGRmLCBtb2RlbCwgdHJhaW5pbmcsIGNvcnB1cyl7CiAgeCA9IGRlbnNpdHkoZGYkc3VycHJpc2FsKSR4CiAgeSA9IGRlbnNpdHkoZGYkc3VycHJpc2FsKSR5CiAgcmV0dXJuKGRhdGEuZnJhbWUobW9kZWwsIHRyYWluaW5nLCBjb3JwdXMsIHgsIHkpKQp9CgojIEdldCB0aGUgZGVuc2l0eSBwb2ludHMKZGVuc2l0eV9kYXRhID0gYWxsX2RhdGEgJT4lCiAgbXV0YXRlKG1vZGVsID0gcmVjb2RlKG1vZGVsLCB2YW5pbGxhPSJsc3RtIikpICU+JQogIGdyb3VwX2J5KG1vZGVsLCB0cmFpbmluZywgY29ycHVzKSAlPiUKICAgIGRvKHtnZXRfZF9wb2ludHMoLiwgdW5pcXVlKC4kbW9kZWwpLCB1bmlxdWUoLiR0cmFpbmluZyksIHVuaXF1ZSguJGNvcnB1cykpfSkgJT4lCiAgdW5ncm91cCgpICU+JQogIG11dGF0ZSh0cmFpbmluZ192b2NhYj1hcy5mYWN0b3IoaWZlbHNlKHN0cl9kZXRlY3QodHJhaW5pbmcsICJncHRicGUiKSwgImdwdGJwZSIsIGFzLmNoYXJhY3Rlcih0cmFpbmluZykpKSwKICAgICAgICAgdHJhaW5pbmdfc291cmNlPWFzLmZhY3RvcihzdHJfcmVwbGFjZShhcy5jaGFyYWN0ZXIodHJhaW5pbmcpLCAiLWdwdGJwZSIsICIiKSksCiAgICAgICAgIGJwZT10cmFpbmluZ192b2NhYiA9PSAiZ3B0YnBlIiwpICU+JSAKICBmaWx0ZXIoeD4wLCB4PDIwKQoKc21vb3RocyA9IHJlYWQuY3N2KCIuLi9kYXRhL2dhbV9zbW9vdGhzLnNsMjAxMy5hbGwuY3N2IikKZ2FtX3Ntb290aHMgPSBzbW9vdGhzICU+JSAKICAjIFBsb3QgbmljZXRpZXMKICAjIHZhbmlsbGEgLT4gbHN0bQogIG11dGF0ZShtb2RlbD1yZWNvZGUobW9kZWwsIHZhbmlsbGE9ImxzdG0iKSkgJT4lIAogICMgQ3JlYXRlIEJQRSB2cyBub24tQlBFIHZhcmlhYmxlCiAgbXV0YXRlKGJwZT10cmFpbmluZ192b2NhYiA9PSAiZ3B0YnBlIikgJT4lIAogIAogICMgRml4IDAgc3VycHJpc2FsID0gMCBtcwogIGdyb3VwX2J5KHRyYWluaW5nX3ZvY2FiLCBtb2RlbCwgY29ycHVzKSAlPiUgCiAgICBtdXRhdGUoZGVsdGE9MCAtIHlbMV0sCiAgICAgICAgICAgIyBUcmltIGxvd2VyIGJvdW5kIHRvIG1ha2Ugc3VyZSBpdCBnZXRzIHBsb3R0ZWQgd2l0aGluIHRoZSB5bGltCiAgICAgICAgICAgeV9sb3dlcj1wbWF4KHltaW4sIHlfbG93ZXIgKyBkZWx0YSksCiAgICAgICAgICAgeT15ICsgZGVsdGEsCiAgICAgICAgICAgIyBUcmltIHVwcGVyIGJvdW5kIGxpa2V3aXNlCiAgICAgICAgICAgeV91cHBlcj1wbWluKHltYXgsIHlfdXBwZXIgKyBkZWx0YSkpICU+JSAKICB1bmdyb3VwKCkKCmRlbnNpdHlfZGF0YSAlPiUgZmlsdGVyKG1vZGVsID09ICJncHQyIiwgdHJhaW5pbmdfc291cmNlID09ICJibGxpcC1sZyIpCgpnZ3Bsb3QoKSArCiAgdGhlbWVfYncoKSArCiAgICBhbm5vdGF0ZSgicmVjdCIsIHhtaW49MCwgeG1heD0yMCwgeW1pbj0tNDAseW1heD0tMTUsIGZpbGw9ImdyZXkiLCBhbHBoYT0wLjMpICsKICAgIGdlb21fbGluZShkYXRhID0gZGVuc2l0eV9kYXRhLCBhZXMoeD14LCB5PXkqMjAwIC0gNDAsIGxpbmV0eXBlPWJwZSksIGNvbG9yPSJncmV5IikgKyAjLCBzaXplID0gMC4xKSArIyAwLjUpICsKICAgIGdlb21fbGluZShkYXRhID0gZ2FtX3Ntb290aHMsIGFlcyh4PXN1cnByaXNhbCwgeT15LCBsaW5ldHlwZT1icGUsIGNvbG9yPXRyYWluaW5nX3NvdXJjZSksIHNpemU9MC41KSArCiAgICBnZW9tX3JpYmJvbihkYXRhID0gZ2FtX3Ntb290aHMsIGFlcyh4PXN1cnByaXNhbCwgeW1pbj15X2xvd2VyLCB5bWF4PXlfdXBwZXIsIGZpbGw9dHJhaW5pbmdfc291cmNlLCBjb2xvcj1OQSwgbGluZXR5cGU9YnBlKSwgYWxwaGE9MC4zKSArCiAgICBmYWNldF9ncmlkKGNvcnB1cyB+IHRyYWluaW5nX3NvdXJjZSArIG1vZGVsLCBzY2FsZXM9ImZyZWUiKSArCiAgICB5bGltKHltaW4sIHltYXgpICsKICAgIGNvb3JkX2NhcnRlc2lhbih4bGltPWMoMCwyMCkpICsKICAgIHNjYWxlX2NvbG9yX21hbnVhbCh2YWx1ZXMgPSBjKCJibGxpcC1sZyI9IiM0NDAxNTRGRiIsICJibGxpcC1tZCI9IiMzOTU2OENGRiIsICJibGxpcC1zbSI9IiMxRjk2OEJGRiIsICJibGxpcC14cyI9IiM3M0QwNTVGRiIsICJncHRicGUiPSIjZjA5NDFmIikpICsKICAgIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IGMoImJsbGlwLWxnIj0iIzQ0MDE1NEZGIiwgImJsbGlwLW1kIj0iIzM5NTY4Q0ZGIiwgICJibGxpcC1zbSI9IiMxRjk2OEJGRiIsICAiYmxsaXAteHMiPSIjNzNEMDU1RkYiLCAiZ3B0YnBlIj0iI2YwOTQxZiIpLCBndWlkZT0ibm9uZSIpICsKICAgIHNjYWxlX3hfY29udGludW91cyhsYWJlbHM9YygwLCAxMCwgMjApLCBicmVha3M9YygwLCAxMCwgMjApLCBtaW5vcl9icmVha3MgPSBOVUxMKSArCiAgICB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAiYm90dG9tIikgKwogICAgbGFicyh4PSJTdXJwcmlzYWwgKGJpdHMpIiwgeT0iU2xvd2Rvd24gZHVlIHRvIHN1cnByaXNhbCAobXMpIiwKICAgICAgICAgbGluZXR5cGU9IkJQRSIsCiAgICAgICAgIGNvbG9yPSJUcmFpbmluZyBkYXRhIikKIGdnc2F2ZSgiLi4vaW1hZ2VzL2NvZ3NjaTIwMjAvZ2FtX3N1cnBfY29ycl9mdWxsLnBkZiIsIGhlaWdodD01LjUsd2lkdGg9MTIsIGRldmljZSA9IGNhaXJvX3BkZikKCmBgYAoKCgoKCgo=